Gdiplus: Image erhalten aus Graphics
-
hi,
ich hab heute mal beschlossen mich ein wenig mit der Gdi+ vertraut zu machen und sofort kam das erste problem

und zwar hab ich ein Graphics-Objekt erstellt in abhängigkeit von einem PNG-Image. In dieses will ich etwas rein schreiben, was auch funktioniert. nur will ich dieses dann wieder als png abspeichern. also bräuchte ich ja erst wieder ein image, um es dann mittels save() zu speichern. Wie bekomme ich also ein Image aus dem Graphics?
Mfg, Herr-Vorragend
-
Soweit ich wies besitzt, das Graphics Objekt das Image nicht und deshalb lebt das Image auch länger als das Graphics Objekt. Sprich du musst nur sicher stellen, dass das Graphics Objekt zerstört wird.
-
hm, sorry, versteh ich gerade nicht so ganz, vielleicht reden wir auch aneinander vorbei. ich will
- png laden
- einen text reinschreiben
- png (mit text) wieder speichernMfG, Herr-Vorragend
-
Graphics *myGraphic; Bitmap *myPng; // Bitmap ist von Image abgeleitet, kann also auch speichern. Ist aber praktischer wenn man noch einzelne Pixel setzen will... myPng=new Bitmap(filename,false); // png-Datei laden myGraphic=new Graphics(myPng); // Graphic mit Image verknüpfen myGraphic->DrawString(...); // Das Graphic-Objekt Text ins Image zeichnen lassen delete myGraphic; // Graphic-Objekt wird nicht mehr benötigt. myPng->Save(...); // ...wieder als png speichern delete myPng; // Image wird nicht mehr benötigt...
-
okay, danke, ich versteh zwar nicht wie das funktioniert, aber trotzdem danke

-
Herr-Vorragend schrieb:
also bräuchte ich ja erst wieder ein image, um es dann mittels save() zu speichern. Wie bekomme ich also ein Image aus dem Graphics?
Du hast bereits ein Image.
Wenn du ein Graphics-Objekt in Abhängikeit eines Image-Objekts erzeugst,
zeichnet GDI+ alles was du mit dem Graphics-Objekt so machst in das Image rein.
Du musst daher hinterher nur beim Image-Objekt, mit dem du das Graphics-Objekt erzeugt hast, eine der Save()-Methoden aufrufen...
-
okay, danke, jetzt hab ichs
