Moin moin!
Mal wieder eine Frage rund ums Thema Canvas und Co
Inzwischen verwende ich ja erfolgreich ein Bitmap als eigenen Brush-Style. Dieser Brush soll aber Transparent sein, er besteht aus 2 Farben (schwarz und weiß), weiß soll aber nicht gezeichnet werden, sonern eben transparent sein.
Also habe ich mal wieder gesucht, und das hier gefunden:
http://entwickler-forum.de/showthread.php?t=25199
Und fleissig wie ich bin auch gleich mal den Lösungvorschlag ausprobiert. Aber, ihr könnt es euch denken, es funktioniert nicht
Ich erhalte nach wie vor keine Transparenz.
Mein Code:
Delphi-Quellcode:
hBitmap := Graphics.TBitmap.Create;
hBitmap.Width := Width;
hBitmap.Height := Height;
hBitmap.Canvas.Brush.Style := BrushStyle;
hBitmap.Canvas.Brush.Color := BrushColor;
hBitmap.Canvas.Pen.Style := psClear;
if (fBrushBitmap.Bitmap <> nil) and (not fBrushBitmap.Bitmap.Empty) then begin
hBitmap.Canvas.Brush.Bitmap := fBrushBitmap.Bitmap;
end;
hBitmap.TransparentColor := TransparentColor;
hBitmap.Transparent := true;
hBitmap.TransparentMode := tmFixed;
hBitmap.Canvas.Rectangle(0, 0, Width + 1, Height + 1);
BitBlt(Canvas.Handle, 0, 0, Width, Height, hBitmap.Canvas.Handle, 0, 0, SRCCOPY);
Weiso funktioniert das bei dem also und bei mir nicht?