ich schreibe gerade ein Programm zur Erstellung von Kacheln für den 3D Globus WorldWind.
Dazu wird eine Source-Bitmap eingelesen und dann so vergrößert, dass Sie dem Ziellevel entspricht. Dann werden daraus quadratische Kacheln erzeugt.
Mein Problem ist nun, dass der QtImageReader ab einer bestimmten Skalierungsgröße ein Signal wirft, welches QtCreator anhält.
Es wird anscheinend keine Exception ausgelöst, sondern in der QtSmoothScaler::scale passiert irgendwas, was das Programm anhält.
Im Debugger steht dann "Angehalten: signal-received"
Ich hatte es vorher anders programmiert - bevor ich QtImageReader eingesetzt habe, hatte ich die Bitmap komplett eingelesen, und dann versucht mittels Skalierung auf die neue Größe zu bringen, mit dem Ergebnis, dass dem Rechner manchmal der Speicher ausging.
Ich habe hier Kachelgrößen von 20480 mal 10240 Pixel - wenn ich versuche, eine Bitmap dieser Größe zu erzeugen, dann steigt Qt irgendwann aus, was auch ganz ok und normal ist.
Deswegen der Einsatz von QtImageReader. Damit kann ich Dinge tun wie folgt:
Code: Alles auswählen
QImageReader reader(pPathToImage);
reader.setScaledSize(QSize(imageWidth, imageHeight));
////////////////////////////////////////////////////////////////
// let's see if we can get the whole new scaled image
////////////////////////////////////////////////////////////////
QImage* currentImg=new QImage();
reader.read(currentImg);
Kann mir da jemand helfen?
Gruss,
C