[SOLVED] QImage Bild verkleinern und separat abspeichern -> problem beim speichern



  • Hallo Forum,

    ich versuche gerade einen Fehler zu suchen aber ich komme einfach nicht weiter. Ich möchte ein Bild mittels QImage verkleinern und dann in einen neuen Ordner abspeichern. Auf meinem Laptop auf dem ich programmiere Funktioniert alles ohne Probleme. Nur auf einen normalen PC funktioniert das abspeichern nicht. Er erstellt mir zwar die Datei die ist aber 0 Byte groß. Also der Pfad an dem er es speichern soll passt soweit auch. Aber finde somit den Fehler noch schwerer bis gar nicht.

    Hier der Verantwortliche Code dazu:

    QString bildInformation1 = QDate::currentDate().toString("yyyyMMdd");
                bildInformation1 = bildInformation1 + "_" + ui->bildnameEdit->text() + "_1";
                QImage bild1Original(bild1UploadString);
                QImage bild1Klein = bild1Original.scaledToWidth(800,Qt::FastTransformation);
    
                QDir pfadSave(QCoreApplication::applicationDirPath());
                QFile var(pfadSave.absolutePath()+QDir::separator()+("images/"+bildInformation1+".jpg"));
    
                QFile outFile1(var.fileName());
                outFile1.open(QIODevice::ReadWrite);
    
                ui->statusEdit->append(outFile1.fileName());
    
                if(bild1Klein.save(&outFile1))
                {}
                else
                {}
    

    Das Save funktioniert einfach nicht. Wüsste aber nicht an was es liegt. Habe mir mittel qDebug() alle Pfäde und Größen ausgeben lassen.
    Vielleicht hat mir der eine oder andere einen Tip.

    Danke und ruhige nacht

    Gruß

    Alex



  • Bei Qt gibts Image Plugins, die verschiedene Formate verarbeiten können. In deinem Fall brauchst du hier anscheinend das Jpeg Plugin. Auf deinem Entwicklerrechner wirds gefunden, auf dem anderen nicht.



  • Vielen dank für die Hilfe 😋 👍
    Hab im Fertig Programmordner folgendes gemacht:

    "Neuer Ordner" mit dem Namen "imagesformats" und habe dort die Datei "qjpeg.dll" hinein kopiert und siehe da...es funktioniert 😉

    Danke nochmals für die Hilfe

    Gruß

    Alex


Anmelden zum Antworten