Ich habe ein anderes Vorgehen als Du und bin daher bisher nicht auf dieses Problem gestossen.
Ich bastle gerade eine Komponentensuite für Transparente Anwendungen.
Microdemo unter:
www.bummisoft.de/download/Transtest.zip.
Wenn ich bei meinen
GDI+-Malereien schaue was da gemalt wird sieht es so aus als ob z.B. Rot
bei scharzem Hintergurnd, den ich default verwende mit 128 bei Transparenz 128 gemalt wird:
im unteren Beispiel wird Caption auf 128 gesetzt.
wenn ich vorher mit weiß füllen würde bekäme ich 255 für Rot
Delphi-Quellcode:
var
b:TGPSolidBrush;
g:TGPGraphics;
sc:PScanline;
begin
image1.Canvas.Brush.Color := clBlack;
image1.Canvas.FillRect(rect(0,0,200,200));
g := GetGraphics(image1.Canvas);
b := GetSolidBrush(clRed,128);
g.FillEllipse(b,10,10,100,100);
g.Free;
b.Free;
sc := Image1.Picture.Bitmap.ScanLine[50];
Caption := IntToStr (sc[50].R);
end;