AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia GDI+: Regions im gespeicherten File nicht vorhanden

GDI+: Regions im gespeicherten File nicht vorhanden

Ein Thema von Jazzman_Marburg · begonnen am 24. Jun 2011 · letzter Beitrag vom 25. Jun 2011
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

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

AW: GDI+: Regions im gespeicherten File nicht vorhanden

  Alt 24. Jun 2011, 17:23
Hallo!
Vielen Dank für Deine Antwort!
Aber -- und ich vermute ich stehe auf dem Schlauch -- beide Lösungswege laufen auf ein- und den selben Punkt hinaus (Hervorhebung von mir):

Nun zur Lösung:
Falls die Effekte Regions beachten, musst Du die Clippingregion auf Dein Bitmap anwenden, bevor Du den Effekt anwendest.
Falls das nicht funktioniert bleibt Dir nur die Möglichkeit, mit einem Hilfsbitmap zu arbeiten: Die klonst Dein Bitmap, wendest dann den Effekt beim geklonten Bitmap an, weist dann Deinem Bitmap die Clippingregion zu und malst das Hilfsbitmap auf Dein Original.
xaromz
"Weise Deinem Bitmap den Clipping-Bereich zu" -- und ich frage eben: "Wie weise ich dem Bitmap einen Clipping-Bereich zu?

Kannst Du mein Problem verstehen? Egal wie ich es drehe oder wende, es läuft darauf hinaus dem Bitmap einen Clipping-Bereich zuzuweisen -- und ich verstehe nicht wie.

Deine Analyse scheint mir ganz korrekt zu: Die Farbeffekte weise ich dem kompletten Bitmap zu, das Clipping hingegen nur beim Zeichnen. Aber ich verstehe nicht, wie ich das Clipping vorher dem gesamten Bitmap zuweisen soll. Das Bitmap-Objekt hat kein "Clip" oder "Region" im Gegensatz zum Graphic-Objekt.

(Das ist keine Störrigkeit, ich verstehe nur nicht, wie ich es tun sollte).

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

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

AW: GDI+: Regions im gespeicherten File nicht vorhanden

  Alt 24. Jun 2011, 18:13
Hallo,

sowas habe ich mir schon gedacht, deshalb habe ich die zweite Lösung mit aufgenommen. Um ein Bitmap bearbeiten zu können, musst Du Dir ein Graphic-Objekt holen. Diesem kannst Du dann das Clippingobjekt zuweisen. Hier mal aus dem Kopf:
Delphi-Quellcode:
VAR
   Bitmap : IGPBitmap;
   HelpBitmap: IGPBitmap;
   Graphics : IGPGraphics;
   myPaths : IGPGraphicsPath;
   Region : IGPRegion;
 ...

   Bitmap := TGPBitmap.Create(Filename);
   HelpBitmap = Bitmap.Clone(); // Hilfsbitmap erzeugen (ich hoffe, es gibt die Methode Clone)
   HelpBitmap.ApplyEffect(HSL_GDIp); // irgendein Farb-Effekt applizieren
   Graphics = TGPGraphics.Create(Bitmap); // Graphic erzeugen
   
   myPaths := XML2Path(aXMLDoc); // bastelt aus XML-Document paths
   Region := TGPRegion.Create;
   Region.Exclude(myPaths); // Clipping-Region aus den Paths
   Graphics.Clip := Region; // Clipping-Region setzen

   Graphics.DrawImage(HelpBitmap, 0, 0, Bitmap.Width, Bitmap.Height); //Hilfsbitmap malen
Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

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

AW: GDI+: Regions im gespeicherten File nicht vorhanden

  Alt 25. Jun 2011, 11:59
Super, vielen Dank!

Das sieht nach einer guten Lösung aus -- werde es ausprobieren.

Lieben Danke & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz