QImage.save: BMP nur manchmal, JPG und PNG aber immer Ok

Alles rund um die Programmierung mit Qt
Antworten
irrlicht
Beiträge: 4
Registriert: 31. März 2011 10:17

QImage.save: BMP nur manchmal, JPG und PNG aber immer Ok

Beitrag von irrlicht »

Hallo,
ich kann mit Qt4 auf XP nur hin und wieder ein lesbares Bitmap speichern.
Interessanterweise funktioniert es mit PNG und JPG immer.

Ich bekomme von 'Windows Picture und Fax Viewer' die Meldung 'Bilddarstellung fehlgeschlagen'.
In Paint, IrfanView und Gimp kann ich die Datei öffnen, aber die Darstellung weist einen Fehler auf:
Man bemerkt sofort eine Verzerrung in Richtung rechts unten. Beim zweiten Blick erkennt man in der rechten oberen Ecke den linken Teil wieder. Genauer gesagt, das Bild sieht in der ersten Zeile bis zur Mitte gut aus, dann wiederholt sich der lins von der Mitte liegende Teil. In der zweiten Zeile ist der gute Teil um ein Pixel breiter, dann kommt die Wiederholung. In der dritten Zeile ist der Bereich um zwei Pixel breiter, usw.

Um es noch einmal deutlich zu sagen: ohne irgenwelche Änderungen funktioniert das Abspeichern als PNG oder JPG. In ca. einem von zehn Versuchen mit jeweils anderen Daten geht es auch als BMP.

Ich stehe vor einem Rätsel. Vielleicht ist es ein blöder Fehler meinerseits oder ein Qt Bug, aber ich habe keine Ahnung, wo ich suchen soll.

Hier der Code:
QImage bitmap(pMapFile, width, height, width, QImage::Format_Indexed8);

bitmap.setColorCount(256);
for(i=0; i<256; i++) {
bitmap.setColor(i, QRgb(0xff000000 | i << 16 | i << 8 | i));
}
bitmap.save("Test.bmp", "BMP", 100);
bitmap.save("Test.png", "PNG", 100);
bitmap.save("Test.jpg", "JPG", 100);
Antworten