Zitat von
Neutral General:
Image1.Picture.Bitmap.Canvas.Brush.Color := $-->0A<--BBBBBB;
Ok, das war für mich so abwägig, dass ich dies gar nicht oben gesehen habe. Somit hat Medium natürlich vollkommen Recht. Du benutzt die Brush Color und das ist ein TColor und wird immer erst nach einer Umwandlung der dahinterliegenden
WinAPI GDI Befehlen zugeführt. Diese Umwandlung sorgt sich um die Konstanten (clXXX) sowie um die Farbanpassung der Farbe an den Kontext. Dafür benötigt die
VCL Informationen wie sie damit umzugehen hat und diese legt sie im TColor Typ im obersten Byte ab. Alle
VCL TCanvas Funktionen werden dir niemals das 4. Byte in die ScanLine Informationen schreiben.
Afair geht die
WinAPI GDI auch sträflich mit dem 4. Byte um und erst mit den
GDI+ Funktion sind diese sorgsamer mit diesem Byte, weil es dort als AlphaKanal genutzt wird.
Kurzum: Du musst dein 4. Byte pro Pixel immer per Hand selbst beschreiben. Jede
VCL Funktion wird die dort abgelegten Informationen zerstören.