Seite 1 von 1

QImage lädt keine Bitmaps

Verfasst: 12. April 2007 11:41
von Subby
Hi!

Irgendwie hab ich ein Problem mit QImage.

Code: Alles auswählen

QImage img;
if (img.load("test.bmp") != null) {
label->SetText("OK");
};
img.load gibt null zurück. Mit jpg als Endung funktioniert es aber.
QImage soll doch aber eigentlich auch bmp-Files öffnen önnen, oder?
Wo liegt dann mein Problem?

Verfasst: 12. April 2007 11:46
von upsala

Code: Alles auswählen

QList<QByteArray> QImageReader::supportedImageFormats () 

Verfasst: 12. April 2007 15:44
von caligano
Laut Dokumentation gibt QImage::load entweder true oder false zurück;
null befindet sich nicht unter den Rückgabewerten!
Loads an image from the file with the given fileName. Returns true if the image was successfully loaded; otherwise returns false.
Versuch doch mal:

Code: Alles auswählen

QImage img;
if (img.load("test.bmp")) {
label->SetText("OK");
};

Verfasst: 12. April 2007 16:01
von Subby
Oh stimmt, ich hab das auch so gemacht, der Code war neu hingeschrieben und nicht C&P.

Werd mir mal die SupportedFormats anzeigen lassen.

EDIT: Was ist denn genau QByteArray? Soll das sowas wie char[] sein?
Wie kann ich aus einem QByteArray denn einen anzeigbaren String machen?
Komm da garnicht mit zurecht :(

Verfasst: 12. April 2007 16:48
von upsala

Code: Alles auswählen

QByteArray arr;
QString s(arr);

Verfasst: 12. April 2007 18:23
von patrik08
upsala hat geschrieben:

Code: Alles auswählen

QList<QByteArray> QImageReader::supportedImageFormats () 
Dass kann tauschen .....
unter mac kann ich jpg im laden mit apps .....
$QTDIR/examples/painting/imagecomposition/

jedoch QImageReader::supportedImageFormats () gibt jpg gar nicht aus...

und auf dem selben OS bringe ich keine jpg im QTextBrowser hinein nur noch png .... dass bleibt fuer mich ein mistery....

Verfasst: 12. April 2007 18:34
von Subby
Komisch, dass wird unterstützt:
bmp
jpeg
jpg
mng
pbm
pgm
png
ppm
svg
xbm
xpm

Aber wie gesagt, wenn ich test.bmp lade (ist ein mit mspaint gespeichertes bmp, welches vorher ein jpg war) gibt er false zurück... :-(

Code: Alles auswählen

QImage img;
	if (img.load("test.jpg")) {
		ed->append("OK");
	}
Bei jpg gibt er "OK" aus und bei BMP nicht :(

Noch irgendwelche Tipps?

PS:
OS = WinXP
QT = 4.2.3

Und danke schonmal für die schnellen Antworten

Verfasst: 12. April 2007 18:50
von Subby
Hmmm, lag wohl an dem bmp.

Hab jetzt in meinem System nach *.bmp gesucht und ein beliebiges genommen.
Das hat er beim Laden mit true quittiert.
Sehr seltsam.