GDI+ Image aus Strem lesen



  • Hallo,

    ich versuche verzweifelt aus einer Datenbank Grafikdaten in ein GDI+ Image zu lesen:

    TMemoryStream *memStream = new TMemoryStream();
    		memStream->Size = 0;
    		TBlobField* blobField = dynamic_cast <TBlobField*> (DataModule_Objektfotos->VollBild->FieldByName("Grafik"));
    		blobField->SaveToStream(memStream);
    		Img = new Gdiplus::Image(memStream);
    		GDI_Image.DrawImage(Img,0,0,Img->GetWidth(), Img->GetHeight());
    

    Leider bricht der Compiler mit folgender Fehlermeldung ab

    [C++ Fehler] Foto_Vorschau.cpp(449): E2285 Keine Übereinstimmung für 'Gdiplus::Image::Image(TMemoryStream *)' gefunden
    

    Wie kann ich den Stream ins Grafikobjekt laden?? 😞

    Gruß Andre



  • Hallo

    TBitmap::LoadFromStream

    Edit : Für den Fahl das von TBitmap angeleitet ist. Wenn nicht must du eben die Doku von der Klasse anschauen. Jedenfalls ist der Konstruktor nicht in der Lage ein VCL-Stream zu verarbeiten.

    bis bald
    akari



  • Er braucht einen "IStream" und damit komme ich nicht weiter.

    Andre



  • Hallo

    IStream ist keine VCL-Klasse (und höchstwahrscheinlich nicht von einem VCL-Stream abgeleitet). Also schau in die Doku zu GDI+ (MSDN?) und lies nach wie man das benutzt.

    bis bald
    akari


Anmelden zum Antworten