GDI+ Image Object
-
lool:
danke!!!MichaM.:
1. Was meinst du mit später wieder freigeben? Ich halte mir image (Image Object) in der Klasse und will es nicht am ende der Methode wieder freigeben!!! Deswegen lade ich es ja!!!!2. Es sind kein 2 return nacheinader:
int Picture::loadImagePath(LPCTSTR cPath) { imageType = 0; image = new Gdiplus::Image(cPath); if (image == NULL) return LOAD_ERROR; imageType = GDIPLUS; return IMAGE_OK; }entweder das ein oder das andere... kann man auch so schreiben:
int Picture::loadImagePath(LPCTSTR cPath) { imageType = 0; image = new Gdiplus::Image(cPath); if (image == NULL) { return LOAD_ERROR; } imageType = GDIPLUS; return IMAGE_OK; }
-
wie nützlich doch die "Code-Tags" sein können

zu deiner Frage:
du erstellst mit new eine Instance der Klasse, ohne den Namen des Zeigers den entsprechenden Typ zuzuordnen, des weiteren interpretierst du die Variable auch nicht als solchen Zeiger.Was mit new erstellt wurde, sollte spätestens beim Programmende wieder freigegeben werden, um Speicherlecks zu vermeiden.
Sollte "image" bereits global als Zeiger für Gdiplus::Image() declariert sein, ist das natürlich auch möglich, denoch erhälst du genau dort eine Fehlermeldung.
Ich selbst habe GDI+ selbst nur mal zum Testen und reingucken verwendet, beruhend auf folgende Seite: http://codeproject.com/vcpp/gdiplus/imageexgdi.asp?df=100&forumid=3203&exp=0&select=555174
vieleicht findest du da paar Anhaltspunkte, um besser mit diesem Thema umzugehen, ich persönlich bevorzuge iPictue aus der Com, ist Kompatibler, gerade wegen win98 & Co, und reletive einfach, selbst um Bilder aus dem Internet zu laden.
-
image wird wohl eine Membervariable sein.
-
lool schrieb:
image wird wohl eine Membervariable sein.
stimmt, sorry hatte übersehnen das es ja eine Klasse ist namens Picture
-
lool hat recht: Image ist ein Membervariable... war aber nicht unbendingt wichtig, deswegen hatte ich euch mit überflüssigen Code verschont... lool hat ja gewusst was ich wollte
Wenn es mir um die richtigkeit des Codes geht, dann poste ich den ganzen Code - keine Angst! Aber versuch beim nächsten mal nicht sachen anzumeckern welche du nicht wissen kannst

Keine angst, ich geb den Zeiger beim Deconstructor wieder frei

So viel C++ kann ich gerade noch
iPictue aus der Com kenn ich nicht... hört sich aber interessant an. Ich gucke mal rein

Hast recht, mit Win98 und GDI+ ist nicht so toll...
-
ups... warst schneller

eins noch, hast du link zu com und iPictue??
-
Der_Knob schrieb:
ups... warst schneller

eins noch, hast du link zu com und iPictue??
Kenn und wüste ich so jetzt nicht, aber ich hatte mal ein kleines Beispiel hier gepostet unter meinem Loginnamen (Mic++ha), wollte es auch mal komentieren, aber die Threads sind so schnell im jenseits.
Hier die seite: http://www.c-plusplus.net/forum/viewtopic.php?t=88313&postdays=0&postorder=asc&start=10wenn du fragen zum code hast, frage!
Wegem meinem Lesefehler, das liegt daran das ich nur Code lesen kann mit Codetags

sonst lese ich Unsinn und mein Gehirn spielt mir einen Streich und sagt Anfänger der einen Chat mit Bilder proggen will, gleich fragt er nach Sockets.
Man sieht ich bin schon geschädigt von diesen Noob fragen.
-
ist schon gut *g*
ist ja auch spät am Abend und da ist man schon mal etwas gereizt
Aber was würden wir ohne die Noob machen? Das ist unsere Zukunft

PS: auch wenn es nur ein Gerücht ist... wir waren auch mal welche... glaub mir

-

-
Der_Knob schrieb:
ist schon gut *g*
ist ja auch spät am Abend und da ist man schon mal etwas gereizt
Aber was würden wir ohne die Noob machen? Das ist unsere Zukunft

PS: auch wenn es nur ein Gerücht ist... wir waren auch mal welche... glaub mir

Ja stimmt, ich war auch mal ein Noob, aber ich bin mit "hello World" angefangen und nicht mit "ICQ-AIM XP SP7 Multiuser".
