Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

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

AW: GDI+: Regions im gespeicherten File nicht vorhanden

  Alt 24. Jun 2011, 13:30
Hallo!
Super, dass Du es Dir näher anschauen möchtest.
Ich hoffe Du steigst durch:
Delphi-Quellcode:
VAR
  Bitmap : IGPBitmap;
  Graphics : IGPGraphics;
  myPaths : IGPGraphicsPath;
  Region : IGPRegion;
...

  Bitmap := TGPBitmap.Create(Filename);
  Graphics := TGPGraphics.Create(Main_Form.MainImage.Canvas.Handle);
  myPaths := XML2Path(aXMLDoc); // bastelt aus XML-Document paths
  Region := TGPRegion.Create;
  Region.Exclude(myPaths); // Clipping-Region aus den Paths

  Bitmap.ApplyEffect(HSL_GDIp); // irgendein Farb-Effekt applizieren

  Graphics.Clip := Region; // Clipping-Region setzen
  Graphics.DrawImage(Bitmap, 0, 0, Bitmap.Width, Bitmap.Height);
  Main_Form.MainImage.Refresh; // hier ist noch alles ok: Regions nicht eingefärbt
...

  Bitmap.Save(SaveImage.Dialog.FileName, TGPImageFormat.PNG); // im png-File ist alles eingefärbt
Also nach "Graphics.DrawImage(Bitmap, ...);" sieht alles super aus: Die ausgestanzten Regions sind nicht eingefärbt. Aber im File danach ist es so, als ob ich mit Regions nie was gemacht hätte -- der ApplyEffect ist auf alles appliziert worden.

Vielen Dank
Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat