Moin Leute!
Wenn ich in ein TImage über die Property Picture ein trasparentes PNG-File lade (TPngImage) dann wird die Transparenz richtig dargestellt. Prima.
Wenn ich nun aber mit
GDI+ das gleiche Bild mit DrawImage in einem TImage darstelle, dann wird das Bild auf einem weißen Hintergrund gemalt -- kann ich das wohl abstellen und auch hier einen transparenten Hintergrund bekommen?
Als Attachment seht ihr das Ergebnis: Das linke ist wird wie gesagt direkt im Object-Inspector des TImage geladen, das rechte mit
GDI+ auf ein TImage gemalt.
Hier mein
GDI+ Code:
Delphi-Quellcode:
procedure TForm1.Draw;
var
Graphics : IGPGraphics;
gImage : IGPImage;
R : TGPRectF;
begin
gImage := TGPImage.Create('Test.PNG');
Graphics := TGPGraphics.Create(gImage);
R.Initialize(0, 0, gImage.Width, gImage.Height);
Graphics.CompositingMode := CompositingModeSourceCopy;
Graphics.DrawImage(gImage, R);
Graphics := TGPGraphics.Create(Form1.Image.Canvas.Handle);
Graphics.DrawImage(gImage, R, 0, 0,
gImage.Width,
gImage.Height,
UnitPixel);
end;
Jemand eine Idee?
Lieben Dank & Gruß
Jazzman