Unterschiedliche Bildformate in Komponente einfügen



  • Hallo,
    habe ein kleines Problem beim erstellen einer neuen Komponente die von TImage abgeleitet ist.

    mit folgendem Code möchte ich die Datei "c:\\test.gif" einbinden. Leider erhalte ich nur ein weisen Canvas.

    // JPG,GIF und TIF
    Gdiplus::GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR  gdiplusToken;
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    
    Gdiplus::Graphics graphics(this->Canvas->Handle);
    Gdiplus::Image image(L"c:\\test.gif");
    

    Ich bekomme keine Fehlermeldung, lediglich ein weisés Image.

    Hat jemand ein Codeschnipsel bei dem ein Tif oder Gif in ein Bild eingelesen wird und dann auf den Canvas der Komponente neu gezeichnet wird.

    Danke

    Waldsee 🙂



  • Hallo

    wegen gif und jpg siehe FAQ hier im Forum, ansonsten nach anderen externen Komponenten suchen die das Laden übernehmen.

    bis bald
    akari



  • Danke Akari, das hilft mir nicht viel weiter da eben nicht alle Formate unterstüzt werden. Mit der GDI+ sollte es doch machbar sein.

    Wäre nett wenn sich jemand mal meinen Code ansieht wo der Wurm begraben liegt.

    Danke





  • Danke es läuft bei mir nur sobald ich eine Komponente mache gehts nicht mehr. Ich will eine Komponente machen die genau wie TImage nur alle Formate unterstüzt.

    Der nach dem Link habe ich es gemacht und es geht eben nur nicht in einer Komponente.

    Waldi 🙂



  • Hallo,
    So habe die Lösung gefunden. Ich hab vergessen das Bild neu zu zeichnen.

    hier der Code der funktioniert vieleicht hilfts dem nächsten.

    Waldi

    Image1 = new TImage(this);
    
    Gdiplus::GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR  gdiplusToken;
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    
    Gdiplus::Graphics graphics(this->Canvas->Handle );
    Gdiplus::Image image(L"c:\\test.gif");
    
    graphics.DrawImage(&image,0,0);
    

Anmelden zum Antworten