GDI+ Image Object



  • Von Klassen hast du AFAIK keine Ahnung

    Gdiplus::Image *image = new Gdiplus::Image(cPath);
    //...
    // später wieder Freigeben (delete image;)
    

    was soll diese If Anweisunmg mit 2 Returns nach einander?
    Stell das Bier weg und brüh nen Kaffee auf.



  • 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=10

    wenn 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". 😉


Anmelden zum Antworten