Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

GDI+: Transparenz auf TImage

  Alt 24. Jul 2011, 10:05
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
Miniaturansicht angehängter Grafiken
test.png  
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat