Ja, TBitmap unterstütz den Alpha-Kanal.
Gut, wenn man es über in ein TBitmap reinquetzt und keine delphieigenen Komponenten/Befehle verwendet, um es anzuzeigen oder zu bearbeiten, dann mag es gehen, wenn man das PalettenByte als Alphakanal mißbraucht und das TBitmap quasi nur als Speichermedium verwendet. Von den "normalen" Delphi/Windows-Funktionen würde der "Alpha"-Kanal aber bestimmt nur als Palette behandelt.
Hab nochmal schnell nachgeguck:
Zitat von
OH:TColor:
Hat das höchstwertige Byte den Wert Null, erhalten Sie eine Farbe, die derjenigen in der Systempalette am ähnlichsten ist. Ist das höchstwertige Byte Eins ($01 bzw. 0x01), ergibt das eine Farbe, die derjenigen in der aktiven Palette am ähnlichsten ist. Wenn Sie das höchstwertige Byte auf Zwei ($02 bzw. 0x02) setzen, wird der Wert an die ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts angepasst.
Und dann noch:
Delphi-Quellcode:
clSystemColor = $FF000000;
clNone = TColor($1FFFFFFF);
clDefault = TColor($20000000);
Genauso kann ich ja Binärdaten in einem (
Ansi)String zwischenspeichern und es ist dennoch nicht sofort ein lesbarer/anzeigbarer "Text".