我是新手在图形编程方面(像素、图片等等)。 我正试着将原始数据转换为QImage并显示在QLabel上。问题是,原始数据可以是任何数据(它实际上不是图像原始数据,而是二进制文件)。 这样做的原因是为了更深入地理解像素和类似的东西,我知道会得到带有奇怪结果的随机图像,但它会起作用。 我正在做类似于下面的事情,但我认为我的方法有误!
QImage *img = new QImage(640, 480, QImage::Format_RGB16); //640,480 size picture.
//here I'm trying to fill newly created QImage with random pixels and display it.
for(int i = 0; i < 640; i++)
{
for(int u = 0; u < 480; u++)
{
img->setPixel(i, u, rawData[i]);
}
}
ui->label->setPixmap(QPixmap::fromImage(*img));
我做得对吗?顺便问一下,你能告诉我在哪里可以学习这些东西吗?谢谢!
QPixmap :: fromImage
,则无需动态创建img
,因为它会为像素图分配堆内存。而且QImage
使用写时复制。 - UmNyobe