Tach, Leute!
Ich möchte ein Bild auf 'nem HDC Transparent (ohne Hintergrundfarbe) ausgeben.
Delphi-Quellcode:
var
Bitm:TBitmap;
procedure DrawTo(
DC:HDC);
var
B:TBitmap;
MyMask:HBITMAP;
begin
B:=TBitmap.Create;
B.Width:=Bitm.Width;
B.Height:=Bitm.Height;
B.Canvas.Draw(0,0,Bitm);
B.Mask(0);
MyMask:=B.MaskHandle;
// BitBlt(DC,Left,Top,Width,Height,Bitm.Canvas.Handle,0,0,SrcCopy); // bisher
MaskBlt(
DC,Left,Top,Width,Height,Bitm.Canvas.Handle,0,0,
MyMask,0,0,SrcCopy);
B.Free;
end;
Das klappt nicht, mein Bitmap wird überhaupt nicht ausgegeben. Mache ich etwas falsch ? Oder soll ich TrasparentBlt (oder so ähnlich) verwenden ? Damit hatte ich auch meine Schwierigkeiten.
Gibt es eine einfache Lösung meines Problems ?