Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
27. Apr 2024, 21:15
Hier funktioniert es. Dies ist mein Code:
var b : TBitmap;
pxc: TColor;
hxc : string;
begin
b := TBitmap.Create();
try
b.Transparent := true;
b.TransparentColor := $005334FE;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
27. Apr 2024, 17:02
Was bringt dich denn auf diese Idee?
Hier mal die Implementierung:
function ColorToRGB(Color: TColor): Longint;
begin
if Color < 0 then
Result := GetSysColor(Color and $000000FF) else
Result := Color;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
27. Apr 2024, 14:37
Das gilt nur wenn TBitmap.TransparentMode auf tmAuto steht. Andernfalls werden die Einstellungen in TBitmap schon mit in das Image übernommen. Das kann man leicht sehen, wenn an die TransparentColor des Bitmaps falsch einstellt.
Lediglich das Transparent von TImage überschreibt das Transparent der TBitmap bei der Zuweisung auf Picture.Graphic. Deswegen muss das beim Control passend gesetzt...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
27. Apr 2024, 13:19
Das Bitmap ist erstmal zu groß für das TImage, was man entweder durch setzen von Stretch := True oder AutoSize := True lösen kann;
Weiterhin sollte das TImage ebenfalls ein Transparent := True bekommen. Die TBitmap.TransparentXXX Eigenschaften wirken sich nur auf das Zeichnen aus, nicht auf den Inhalt der Bitmap.