QImage Img;
if (! Img.save(Fn, "BMP", Qt::MonoOnly))
{
...
}
(QT Version 4.5.1)
Auf meinen Rechner funktioniert es einwandfrei, wenn ich jedoch auf einem Rechner teste, wo kein QT installiert ist (QtCore451.dll und QtGui451.dll sind vorhanden), erhalte ich als return wert immer false.
Scheinbar liegt es an einer fehlenden Dll aus "..\plugins\imageformats\"!
Aber welche ? Oder kann mir jemand sagen ob ich was anderes falsch mache?
Sven
Zuletzt geändert von Sven K. am 21. Februar 2011 09:39, insgesamt 1-mal geändert.
AFAIK ist BMP ein eingebautes Image-Plugin, braucht also keine zusätzlichen DLLs.
Hat denn der User auch Schreibrechte im Verzeichnis?
Du kannst mal den Umweg über QImageWriter machen
ich erhalte als Fehlermeldung für writer.errorString() & writer.device()->errorString() beides mal "Unknown error"
Auf dem User System liefert QImageWriter::write auch kein false zurück, sondern legt eine .bmp datei an in der nur 54 Bytes geschrieben wurden. (sollten 900Kb sein)
Schreibrechte habe ich auf dem Userrechner, denn ein Textfile im selben Ordner kann ich schreiben.
Wie erzeugst du das QImage? LIest du das aus einer Datei? Gibst du dem Image einen Raw-Input (Buffer)?
Könntest du vielleicht ein kompilierbares Minimlabeispiel posten, das an deinem Programmfluss angelehnt ist?
Ich habs mir ja schon gedacht
Deshalb bitte das nächste Mal gleich deinen Code posten, dann gibts gleich die richtige Antwort.
Für jpeg-Lesen brauchst du natürlich das jpeg-imageformats-plugin! Wie du das plugin verteilst, kannst du in den zahlreichen Beiträgen hier im Forum nachlesen (denke eine Suche nach imageformats sollte reichen).