我有 RGB图像,它具有(按名称定义)这样的像素:[R,G,B]。
我在该图片中保存了自定义数据,我希望它从该图片中提取并使其变为灰度
如Qt文档所述,我可以通过image.pixel()
方法访问像素,然后调用宏qGreen()
提取绿色并将其设置为每个通道。
我为图像中的每个像素调用了此代码,其中value
是原始图像的qGreen()
,而alpha
是0-255
的值。 colorImage
的格式设置为QImage::Format_ARGB32
。
colorImage.setPixel(col, row, qRgba(value,
value,
value,
alpha));
结果为黑色图像,完全没有数据。当我尝试使用colorImage
方法在此新图像(image.pixel()
)中打印像素值时,所有像素均等于4278190080
。
我在哪里做错了?