hallo,
beim skalieren von png Bildern in einem QDir dir("ordner") gesetztem Ordner, werden Bilder gelesen, aber es kommt die Meldung
QImage::scaled: Image is a null image.
Liegen die ImageDateien im selben Ordner QDir dir , wo sich die EXE befindet , werden die Bilder skaliert.
Wie können Bilder, die in einem anderen (Unter-)Ordner befinden,
skaliert werden ?
QImage in bestimmten Ordner skalieren
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Code: Alles auswählen
int main(int argc, char *argv[])
{
QApplication app(argc,argv,false);
QDir dir("bilder");
.
.
QImage image(c,"png"); //c = Dateiname
QImage iscaled = image.scaled(20,20,aspectRatioMode,transformMode);
.
.
return 0;
}Code: Alles auswählen
int main(int argc, char *argv[])
{
QApplication app(argc,argv,false);
QDir dir; //dir.setPath("bilder");
QByteArray qba;const char *c;
QFileInfoList list = dir.entryInfoList();
for (int i = 0; i < list.size(); i++) {
QFileInfo fileInfo = list.at(i);
qba=QString(fileInfo.fileName()).toAscii();
c=qba.constData();
QImage image(QString(fileInfo.fileName()),"png");
if(image.load(QString(fileInfo.fileName()),"png") == true){cout << "load " << true << endl;}
if(image.loadFromData(qba,"png") == true){cout << "load from data " << true << endl;}
QImage iscaled = image.scaled(20,20,aspectRatioMode,transformMode);
.
cout << c << endl;
}
return 0;
}Im aktuellem Ordner der Exe werden die Bilder über die load funktion erkannt, im Unterordner nicht, und es kommt im Unterordner immer noch QImage::scaled: Image is a null image.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: