QPixmap liefert auf anderem Rechner .width=0 und .heigth=0
Verfasst: 30. Juli 2012 11:35
Ich verwende in meiner Applikation die Klasse "QPixmap". Es wird ein .jpg bzw. .png Bild geladen und dann seine Größe mit
"pixmap.width()" und
"pixmap.heigth()"
ermittelt:
pixmap.load(pictPathName );
qDebug() << "pixmap.width(): " << pixmap.width() << ", pixmap.height: " << pixmap.height();
QRect pixmapRect = pixmap.rect();
qDebug() << "PixmapRect.widht: " << pixmapRect.width() << ", PixmapRect.hight: " << pixmapRect.height();
Meine Enwicklungsumgebung (QtCreator auf WinXP SP3) befindet sich in einer VM. Dort funktioniert alles bestens.
Kopiere ich die Applikation samt mingw- und Qt-Bibliotheken auf den Host, so wird für die allermeisten Bilder die Größe = "0" geliefert.
Aber ich habe ja fleißig gelesen: das berühmt-berüchtigte "Plugin"-Problem stand im Verdacht. Dachte ich mir, denn in der Qt-Hilfe steht, dass ".jpg" und ".png" standardmäßig (sprich ohne PlugIns) unterstützt werden.
Ich habe schon alle "verdächtige" .dll's aus der SKD herauskopiert und in das Applikationsverzeichnis kopiert: kein Erfolg.
Ich habe auch schon alle Qt-Links aus der "path"-Variablen herausgelöscht: kein Erfolg. Es gibt auch keinen Fehler oder sonst noch was: das Programm läuft anstandslos durch.
Das prickelnde an dieser Geschichte ist die Tatsache, dass von dem Dutzend Bilder, die bearbeitet werden sollen das eine oder andere doch noch richtig erkannt wird.
Ich bin mit meinem Latein am Ende.
Hoffentlich ist jemand hier kluger, als ich.
Edit:
gut sich ausgekotzt zu haben: als ich damit fertig war, viel mir ein, dass ich noch nicht überprüft habe, ob die Datei überhaupt richtig geöffnet wird. Und siehe da:
pixmap.load(pictPathName );
liefert ein "false" zurück.
Ich wüsste gerne, warum, denn der Pfad und Dateiname stimmen...
"pixmap.width()" und
"pixmap.heigth()"
ermittelt:
pixmap.load(pictPathName );
qDebug() << "pixmap.width(): " << pixmap.width() << ", pixmap.height: " << pixmap.height();
QRect pixmapRect = pixmap.rect();
qDebug() << "PixmapRect.widht: " << pixmapRect.width() << ", PixmapRect.hight: " << pixmapRect.height();
Meine Enwicklungsumgebung (QtCreator auf WinXP SP3) befindet sich in einer VM. Dort funktioniert alles bestens.
Kopiere ich die Applikation samt mingw- und Qt-Bibliotheken auf den Host, so wird für die allermeisten Bilder die Größe = "0" geliefert.
Aber ich habe ja fleißig gelesen: das berühmt-berüchtigte "Plugin"-Problem stand im Verdacht. Dachte ich mir, denn in der Qt-Hilfe steht, dass ".jpg" und ".png" standardmäßig (sprich ohne PlugIns) unterstützt werden.
Ich habe schon alle "verdächtige" .dll's aus der SKD herauskopiert und in das Applikationsverzeichnis kopiert: kein Erfolg.
Ich habe auch schon alle Qt-Links aus der "path"-Variablen herausgelöscht: kein Erfolg. Es gibt auch keinen Fehler oder sonst noch was: das Programm läuft anstandslos durch.
Das prickelnde an dieser Geschichte ist die Tatsache, dass von dem Dutzend Bilder, die bearbeitet werden sollen das eine oder andere doch noch richtig erkannt wird.
Ich bin mit meinem Latein am Ende.
Hoffentlich ist jemand hier kluger, als ich.
Edit:
gut sich ausgekotzt zu haben: als ich damit fertig war, viel mir ein, dass ich noch nicht überprüft habe, ob die Datei überhaupt richtig geöffnet wird. Und siehe da:
pixmap.load(pictPathName );
liefert ein "false" zurück.
Ich wüsste gerne, warum, denn der Pfad und Dateiname stimmen...