如何根据已知像素值构建QImage

时间:2012-03-07 03:00:05

标签: c++ image qt

我知道我想要QImage的高度和宽度,以及每个像素值(来自x,y位置)。如何构建一个知道这些值的QImage?

2 个答案:

答案 0 :(得分:5)

setPixel()的第二个参数是单个int中的24位RGB值,您可以使用QRgb宏来构造它,或者只使用(red<<16) + (green << 8) + blue

但除非它是一个非常小的图像,否则需要很长时间才能拨打setPixel()

如果您有数据,我会调用Qimage::bits()来获取指向QImage数据的无符号指针,并直接为每个像素设置R,G,B值或使用memcpy()

答案 1 :(得分:1)

您只需创建对象(例如new QImage(640, 480);),然后使用setPixel将图像中的每个像素更改为您希望的值。