Ein Bitmap in ein Jpeg umwandeln ohne veroher abzuspeichern?



  • Hallo zusammen.
    Ich benutze im moment folgende Funktion um ein Jpeg in ein Bitmap umzuwandeln.

    #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;
    

    Nun möchte ich erstens, dass das umzuwandeldne Bild nicht aus einem File geladen wird sondern direkt von einem anderen TImage genommen wird.

    Zweitens sollte es genau andersrum ablaufen, dass nämlich Bitmaps wieder zu jpgs umgewandelt werden.

    Habe versucht den Code selbst umzuschreiben jedoch traten immer Fehler auf, weil ich nicht viel Ahnung davor hab.

    Ich würde euch sehr danken wenn ihr mir helft.
    mfg basti



  • Nun möchte ich erstens, dass das umzuwandeldne Bild nicht aus einem File geladen wird

    Sehe nichts vom laden?

    Im Speicher gibt es nur Bitmaps -> JPG, GIF u.a. sind Formate für die Dateiablage.

    Schau mal nach
    Image2->Picture->Bitmap
    und was man damit machen kann -> bsp. eine Zuweisung



  • Hallo,

    Das hier

    jpg->Assign(Image1->Picture->Bitmap);
    

    wandelt doch ein Bitmap in ein jpeg. Mehr brauchst du doch nicht.
    Das mit dem SaveToFile in der FAQ diente bloß der Veranschaulichung wie ein solches Bild gespeichert werden kann. Du brauchst das also nicht.



  • Nein eben nicht, es wandelt ein Jpeg zu einem Bitmap aber nicht andersrum.
    mfg max



  • Nein eben doch. 😉

    to assign = zuweisen
    Der Inhalt des Bitmap wird dem Jpeg zugewiesen.

    Davon abgesehen: wenn du nicht zeigst, was genau du versucht hast und welche konkreten Fehler dabei aufgetreten sind, dann wird dir kaum jemand helfen können.



  • Ja aber ich lade mit diesr methode Jpegs und speicher sie als Bitmaps ab. Will es jedoch andersrum machen. Ich möchte Bitmaps zu Jpegs umwandeln. Mein Problem liegt darin, dass ich nicht weiß wie das geht.

    Kurz:
    Ich möchte ein Bitmap, dass sich in einem TImage befindet zu einem jpeg umwandeln und speichern.

    mfg max



  • Machst du doch

    jpg->Assign(Image1->Picture->Bitmap);



  • Ich möchte ein Bitmap, dass sich in einem TImage befindet zu einem jpeg umwandeln und speichern.

    Musst nurnoch speichern.



  • jpg->SaveToFile("test.jpg");

    Macht er doch auch schon



  • Stimmt ich habe es jetzt hinnbekommen ich idiot. Danke für eure hilfe.
    mfg max


Anmelden zum Antworten