Grafik - JPEG, GIF und PNG



  • Meine Frage:
    Wie kann ich das Bild eines Images (TImage) in das jpg- oder gif-Format abspeichern? Brauche ich dazu spezielle Komponenten? Wenn ja, wo gibt es die im Netz?
    Oder gibt es eine andere Lösung?
    MfG Matze



  • Für JPEG-Bilder muss lediglich jpeg.hpp inkludiert werden. BCB3-Besitzer können sich ein passendes Package bei Borland abholen. Für BCB1-Benutzer besteht leider scheinbar keine entsprechende Möglichkeit.

    Für GIF-Images wird eine externe Komponente wie zB. TGIFImage von A. Melander benötigt. Nach der Installation muss Include-Pfad in den Projektoptionen entsprechend erweitert werden. BCB1-Benutzer gehen leider auch hier leer aus.

    Im Beispiel wird gezeigt, wie der Inhalt eines TImage jeweils in das gewünschte Format umgewandelt und abgespeichert wird. Anschliessend wird das umgewandelte Bild jeweils in einem weiteren TImage wieder angezeigt.

    #include <jpeg.hpp>
    #include <gifimage.hpp>
    
    TJPEGImage *jpg = new TJPEGImage();
    
    jpg->Assign(Image1->Picture->Bitmap);
    jpg->SaveToFile("test.jpg");
    Image2->Picture->Assign(jpg);
    
    delete jpg;
    
    TGIFImage *gif = new TGIFImage();
    
    gif->Assign(Image1->Picture->Bitmap);
    gif->SaveToFile("test.gif");
    Image3->Picture->Assign(gif);
    
    delete gif;
    

    Über besondere Eigenschaften und Funktionen wie zB. zur Komprimierung geben die jeweiligen Hilfedateien Auskunft.



  • PNG-Unterstützung erhält man z.B. durch http://pngdelphi.sourceforge.net/
    Ggf. ist dabei die Version 1.5 zu verwenden, neuere Versionen sollen zumindest in älteren BCBs Probleme bereiten.


Anmelden zum Antworten