[Qt-interest] QImage.drawImage() on huge image doesn't work as expected. Bug?
Thorben Kröger
thorbenk at gmx.net
Mon Mar 30 17:44:26 CEST 2009
Hi,
I'm drawing a small red image on a huge 40 megapixel black QImage. If I draw
it on the top, it works as expected, if I draw it at a position of say 50000,
it doesn't.
Here is a small testcase.
See try2.png, there's the red rectangle.
And in try3.png, no red rectangle at all.
Is this a bug?
Or am I just doing sth. wrong?
#include <QtGui>
#include <qdebug.h>
void superimpose(const QImage& background, const QImage& overlay, const
QPoint& origin, QString filename) {
QImage img = background;
QPainter p(&img);
p.drawImage(origin, overlay);
img.save(filename);
}
int main(int argc, char** argv) {
//Huge background image
QImage bg(QSize(289, 141564), QImage::Format_RGB32);
bg.fill(0);
//Some small image
QImage patch(QSize(287,7077), QImage::Format_RGB32);
for(int i=0; i<287; i++) {
for(int j=0; j<7077; j++) {
patch.setPixel(i,j, qRgb(255,0,0));
}
}
superimpose(bg, patch, QPoint(0,0), "try1.png");
superimpose(bg, patch, QPoint(0,1000), "try2.png");
superimpose(bg, patch, QPoint(0,50000), "try3.png");
return 0;
}
Cheers,
Thorben
More information about the Qt-interest-old
mailing list