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