Hi,
I have tried to plot some 2d stuff (like pixels for a start but sprites and stuff would be nice too) on to a Qimage but i tend to get weird results like this screenshot.png with this code
RenderArea
::RenderArea(QWidget *parent
) : image
= new QImage(500,
500,
QImage::Format_ARGB32_Premultiplied);
image->fill(0);
for (int n = 0; n < 500; ++n) {
for (int i = 0; i < 500; ++i) {
image->setPixel(i, n, 0x00ff00ff);
}
}
setAutoFillBackground(true);
this->update();
}
void RenderArea
::paintEvent(QPaintEvent * /* event */) { QRect rect
(0,
0, image
->width
(), image
->height
());
painter.drawImage(rect, *image);
this->update();
}
RenderArea::RenderArea(QWidget *parent) :
QWidget(parent) {
image = new QImage(500, 500, QImage::Format_ARGB32_Premultiplied);
image->fill(0);
for (int n = 0; n < 500; ++n) {
for (int i = 0; i < 500; ++i) {
image->setPixel(i, n, 0x00ff00ff);
}
}
setBackgroundRole(QPalette::Base);
setAutoFillBackground(true);
this->update();
}
void RenderArea::paintEvent(QPaintEvent * /* event */) {
QPainter painter(this);
QRect rect(0, 0, image->width(), image->height());
painter.drawImage(rect, *image);
this->update();
}
To copy to clipboard, switch view to plain text mode
any ideas on what i have been doing wrong? Is this a good method ( if I get it to work) or is the graphiview / scene route better for "high"speed 2d plotting?
Best regards Anders Olme
Bookmarks