TImage transparency på transparent form
Hej udviklereJeg sidder og roder med TImage og skal have en bestemt farve i mit image til at være gennemsigtig.
Jeg har fundet frem til følgende kode hvor jeg selv får mulighed for at definere farven:
Image1.Picture.Bitmap.TransparentColor:=Image1.Picture.Bitmap.Canvas.Pixels[600,50];
Image1.Picture.Bitmap.TransparentMode:=tmFixed;
Image1.Transparent:=true;
Det virker som det skal.
Næste opgave er så en transparent form. Dette er lavet med følgende kode:
procedure TFormProducts.FormCreate(Sender: TObject);
var
hRgn: Cardinal;
i: Integer;
begin
//Transparentform
with FormProducts do
begin
BorderStyle := bsNone;
hRgn := CreateRectRgn(0, 0, 0, 0);
for i := 0 to ControlCount - 1 do
with Controls[i].BoundsRect do
CombineRgn(hRgn, hRgn, CreateRectRgn(Left, Top, Right, Bottom), RGN_OR);
SetWindowRgn(handle, hRgn, True);
end;
end;
Dette virker også som det skal.
Men kombineres disse 2 bliver TImage ikke transparent. Den viser farven fra den usynlige form. Hvordan kommer jeg rundt om dette problem?