Also, ich habe ein Projekt auf Bild Steganographie für 32bit PNG-Bilder. Heute habe ich beschlossen, Unterstützung für 24-Bit-Bilder wie gif und bmp hinzuzufügen. Ich überprüfte ihre Bittiefe Eigenschaft, die 24bit sagt. Als ich einen Pixelwert extrahierte, bemerkte ich, dass es eine vorzeichenbehaftete 32-Bit-Ganzzahl ist. und die ersten 8 Bits (Alphakanal oder Transparenzbits) sind alle auf "1" gesetzt.Warum hat das 24-Bit-Tiefenbild 32-Bit-Werte für Pixel?
Warum werden 24-Bit-Bilder mit 32-Bit-Werten dargestellt?
PS: ich weiß, dass alle 1 in den ersten 8-Bits bedeuten, dass das Pixel keine Transparenz hat.
Da gibt es keine 24-Bit-Integer-Typ. 'int', mit 32 Bits, ist das nächstgrößte. Und der zusätzliche Aufwand, die 4 24-Bit-Nummern in 3 32-Bit-'Int's zu packen, ist es einfach nicht wert. –
@AndyTurner ok, schnelle Frage: Wenn die ersten 8 Bits auf 0 setzen, ändert sich dann die Pixelfarbe? oder wird es gleich aussehen? – NoobScript
Hängt davon ab, wie Sie das Bild anzeigen. Der einfachste Weg, es herauszufinden, ist es einfach zu versuchen. –