Hm, Schnellschuss
:
Es gibt:
a) Bitmap 24Bit mit 1Bit Maske
b) Bitmap 32Bit mit 1Bit Maske, aber auch mit Alpha im höchsten Byte der Farbwerte
Nun wäre interessant ob die 24-Bitter wegen des Alignments nicht auch mit 32Bit pro Pixel gespeichert werden. Wäre dem nicht so, wärst du mit einem Vergleich "Bildgröße
ateigröße" dabei -> der 24-Bitter wäre in Bytes ausgedrückt kleiner.
Sollte es aber doch so sein dass die 24er 32bpp belegen, so wäre interessant was dort im höchsten Byte steht. Mal angenommen wir haben Glück und sie sind immer $00:
Dann kannst du zunächst mal alle als 32er ansehen. Wenn sich auch nur eines dieser Bytes findet dass nicht 0 ist, wäre anzunehmen du hast ein echtes 32bpp Bitmap, und die 1Bit-Maske hat keine Bedeutung. Sind jedoch alle 0, wäre beides möglich, aber es macht keinen Unterschied mehr - du kannst die 1Bit-Maske
blind anwenden. Damit wird ein 24er korrekt maskiert, und beim 32er ist die Maske eh komplett leer, so dass sie nichts am Bild ändert.
(Das setzt jedoch voraus, dass die 1Bit-Makse bei den 32ern am Alpha-Byte orientiert ist, und nicht separat davon "schrott" enthalten kann. Das weiss ich nicht.)
Ich hoffe dieser nächtliche Gedankenanflug ist nicht allzu abwegig
Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel