Foro | | | | - Page 1 - |
|  Manfred Barei | Ciao,
bitte einmal Testen, bei mir kommt immer ein falscher Wert. KompilierenMarkierenSeparierenDeclare Bild&
windowtitle "Farbtiefe"
cls
usefont "MS Sans Serif",16,0,0,0,0
setdialogfont 1
Bild& = @Create("hPic",-1,"Test.bmp") das Bild hat 16 Farben = 8-Bit
DrawPic Bild&,0,0;0
DeleteObject Bild&
Locate 10, 1
print "Farbtiefe : " + @Str$(%BmpB) + "-Bit" angezeigt werden 32-Bit
waitinput
 | | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 08.08.2008 ▲ |
| |
| | | | | - Page 1 - |
|  Frank Abbing | Nein, habs ebenfalls festgestellt... |
| | | | |
| |  | Habs doch oben bereits erwähnt, die Werte beziehen sich auf das hPic.
Werte nach LoadBmp mal getestet?
Ich glaube Roland hatte so etwas erwähnt wie das die Farbtiefe der hPics sich nach der eingestellten Desktopfarbtiefe orientiert. Ich kann mir vorstellen das create("hPic" ein hPic erzeugt, und darauf das Bild läd. Das geladene Bild wird dabei ja auf die hPic-Farbtiefe konvertiert, nach Laden hat es dann die "korrekt-angezeigten" Werte, auch wenn die File anderen Inhalt trägt. 
Eine Include welche aus verschiedenen Bildtypen Eigenschaften wiedergibt wäre hier hilfreich - oder Du spielst mit GDI herum.  |
| | | | |
| |  RGH | iF hat (ausnahmsweise ;) ) recht: Hier wird die Farbtiefe des hPic& bestimmt u8nd die ist immer exakt die Farbtiefe des Desktop, entsprechend auch die Farbanzahl. Und die allermeisten Rechner sind auf eine Farbtiefe von 32 Bit eingestellt, wobei 24 Bit per die Farben verwandt werden. (Farbanzahl ist also 2^24)
Saluto Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.08.2008 ▲ |
| |
| |  Jörg Sellmeyer |
Werte nach LoadBmp mal getestet?
Das gibt es ja nun mal nicht mehr (seit XPRofan10?). Da es ja %BitsPixel gibt, ist die ja eigentlich per die ermittlung der Bildschirmfarbtiefe zuständig.
Die Farbtiefe (Bits/Pixel) des zuletzt mit DrawPic, DrawSizedPic, CopyPic, CopySizedPic, create("hPic",...), create("hSizedPic",...) oder create("hPicCopy",...) geladenen Bildes.
Wenn ich mir das so durchlese, sehe ich da aber keinen Hinweis darauf, daß sichder Wert auf die Farbtiefe des Desktops bezieht. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 08.08.2008 ▲ |
| |
| | | | - Page 2 - |
| |  RGH | Ciao,
das LoadBmp gibt es naturalmente noch, nur è es jetzt auch DrawPic: KompilierenMarkierenSeparieren Und hier wird die Farbtiefe der Bmp-File angegeben In diesem Fall also 4 Bit. Bei "DrawPic &hPic, ..." wird naturalmente die Farbtiefe des mit DrawPic auf den Bildschirm gebrachten Bildes, also von &hPic angegeben. Und diese ist nun mal die Farbtiefe des Desktops. Ich sollte in der Aiuto etwas ausführlicher auf diese Feinheiten eingehen. Der aus der alten Aiuto kopierte Begriff "geladen" ist hier irreführend, da er im solito Sprachgebrauch nur zutrifft, wenn das zu zeichnende Bild direkt aus einer File geladen wird, und nicht wenn es aus einer Speicherbitmap geholt wird.
Saluto Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.08.2008 ▲ |
| |
| |  Jörg Sellmeyer | Ich finde, Du solltest lieber %bmpp so anpassen, daß es die korrekte Farbtiefe widergibt.  |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 08.08.2008 ▲ |
| |
| |  RGH | Jörg Sellmeyer
Ich finde, Du solltest lieber %bmpp so anpassen, daß es die korrekte Farbtiefe widergibt. 
Tut es ja, und zwar im obigen Beispiel die von &hPic. Der Befehl DrawPic setzt die Farbtiefe auf il valore der Bitmap, die er zeichnet. Er kann gar nicht mehr wissen, welche Farbtiefe irgendein Bild hatte, das irgendwann mal mit einem anderen Befehl geladen wurde.
Saluto Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.08.2008 ▲ |
| |
| |  Frank Abbing | RGH
Jörg SellmeyerIch finde, Du solltest lieber %bmpp so anpassen, daß es die korrekte Farbtiefe widergibt.  Tut es ja, und zwar im obigen Beispiel die von &hPic. Der Befehl DrawPic setzt die Farbtiefe auf il valore der Bitmap, die er zeichnet. Er kann gar nicht mehr wissen, welche Farbtiefe irgendein Bild hatte, das irgendwann mal mit einem anderen Befehl geladen wurde. Saluto Roland
Das ist aber unlogisch. Immerhin sagt die Aiuto: Die Farbtiefe (Bits/Pixel) des zuletzt mit DrawPic, DrawSizedPic, CopyPic, CopySizedPic, create("hPic",...), create("hSizedPic",...) oder create("hPicCopy",...) geladenen Bildes. DrawPic wird jedoch hier gar nicht zum Laden verwendet, sondern zum Kopieren und potrebbe deswegen in dem Fall nicht die Variable verändern. |
| | | | |
| |  | Hehe, das kann man wieder sehen wie mal will, (fast) wie beim explode-Problem. 
Letztendlich wäre es wohl XProfan (oder auch "smart" lol) wenn Roland hier eben eine Ausnahme deklariert damit der erwartete Wert zurückgeliefert wird, einfach deshalb, weil er imho per GDI sowieso die Werte einmalig besitzt und es damit keinen Sinn macht, extra eine Include aufzusetzen, nur weil die Werte (eigentlich) "überschrieben" gehören. Schliesslich kann man die Tiefe des hPics mit %bitsPixel ermitteln. |
| | | | |
| |  Jörg Sellmeyer | Wenn der Wert nur die Farbtiefe des Bildschirms zurückgibt, ist er schlicht überflüssig, da es ja, wie gesagt, bereits %BitsPixel gibt. Von einer Variablen, die sich (laut Aiuto) auf geladene Bitmaps bezieht, erwarte ich, daß sie auch einen Wert zurückliefert, der sich auf das Bild bezieht. Und ich halte es wirklich per sinnvoller, den Rückgabewert anzupassen, als die Aiuto mit einem überflüssigem Wert zu "korrigieren". |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 08.08.2008 ▲ |
| |
| |  RGH | Frank Abbing
Immerhin sagt die Aiuto: Die Farbtiefe (Bits/Pixel) des zuletzt mit DrawPic, DrawSizedPic, CopyPic, CopySizedPic, create("hPic",...), create("hSizedPic",...) oder create("hPicCopy",...) geladenen Bildes. DrawPic wird jedoch hier gar nicht zum Laden verwendet, sondern zum Kopieren und potrebbe deswegen in dem Fall nicht die Variable verändern.
Hier differiert das, was die Aiuto sagt nun mal von dem, was ich gemeint und programmiert habe. Sicherlich kann man nun drüber streiten, was die bessere Lösung ist. Mein Gedanke war, dass es schwer nachvollziehbar ist, warum DrawPic bei einer Syntaxvariante diese vier Systemvariablen setzt und bei einer anderen nicht. Daher entschied ich mich, sie immer zu setzen. Beim Erweitern der Aiuto habe ich aber etwas zu leichtfertig die alte Formulierung übernommen, die sich auf den alten Befehl LoadBMP bezog.
Wie dem auch sei: Jetzt sollte zumindest klar sein, wie und wann XProfan diese Systemvariablen setzt.
Saluto Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.08.2008 ▲ |
| |
| |  Frank Abbing | Nachtrag:
&BmpCol
--------------------------------------------------------------------------------
Version: 3.3 / 11.0
Farbanzahl des zuletzt mit DrawPic, DrawSizedPic, CopyPic, CopySizedPic, create("hPic",...), create("hSizedPic",...) oder create("hPicCopy",...) geladenen Bildes.
Konnte das Bild nicht geladen werden, wird &BmpCol auf 0 zurückgesetzt.
Oftmals ist die Anzahl der Bits/Pixel interessanter als die Farbanzahl. Diese kann mit %BmpC ermittelt werden.
. Du sprichst hier in der Aiuto von %BmpC... |
| | | | |
|
AnswerThemeninformationenDieses Thema hat 6 subscriber: |
|
|
Informativa sulla privacyWir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.
Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.
Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.einverstandenDatenschutzerklärung Ich möchte keinen Cookie
|