JPG oder lieber BMP?



  • Ich arbeite in meimem Programm ziemlich viel mit Bildern, zur Zeit nur bmp dateien. Das Problem ist insgesamt wird das alles zu groß... jpg dateien würde das Problem ja lösen. Aber ich habe irgendwie das gefühl, das das programm mit jpgs nicht so flüssig läuft, also die übergänge sind nicht so flüssig wie bei bmps?

    Ich hab das da schon drin this->DoubleBuffered = true;

    Kommt mir das vllt nur so vor? Kennt ihr das Problem?
    Wie kann ich es lösen?

    gruß stetze



  • JPEG-Dateien sind auf Platte natürlich kleiner, da sie komprimiert sind. Und aus demselben Grund dauert es auch länger, sie anzuzeigen, da sie eben noch dekomprimiert werden müssen.

    Ich würde es an deiner Stelle so machen, daß du JPEG-Dateien verwendest und diese dann bei Programmstart einmalig lädst und intern als TBitmap speicherst.
    Du solltest keinesfalls immerwieder die JPEG-Dateien on-the-fly laden (z.B. für Animationen), da es dann zu Rucklern kommen kann.
    (Es kommt natürlich auch noch darauf an, wieviele JPEG-Dateien du hast und wie groß dann der Hauptspeicherbedarf für die Bitmaps wird, aber ich gehe mal von unter 100 Dateien aus...)



  • Ich ruf sie jetzt so auf

    hintergrundbild->Picture->LoadFromFile("Images/hintergrundbild.jpg");
    hintergrundbild->Width=1024;
    hintergrundbild->Height=768;
    hintergrundbild->Left=0;
    hintergrundbild->Top=0;

    Wie speicher ich die jetzt als TBitmap?
    Immoment ist es ja noch ein TImage?

    gruß stetze



  • //ungetestet
    Graphics::TBitmap *tempBild = new Graphics::TBitmap;
    tempBild->LoadFromFile("Images/hintergrundbild.jpg");
    hintergrundbild->Bitmap = tempBild;
    

    irgendwann musst du das ganze dann noch mit delete tempBild wieder löschen.

    greetz KN4CK3R


Anmelden zum Antworten