我有一个字节(无符号字符)数组,其中包含一些数据。我已经将这个缓冲区传递给QImage,然后传递给QPainter。但如何获得灰度图像?我已经在paintEvent中尝试了以下代码。请帮助如何通过读取Qt中的字节数组中的数据在QPainter上绘制8位灰度图片?
QPainter painter(this);
unsigned char buf[50 * 100] = {100};
QImage image(buf, 50, 100, 50, QImage::Format_Indexed8);
image.setColorCount(256);
QRect r;
r.setX(0);
r.setY(0);
r.setWidth(50);
r.setHeight(100);
painter.drawImage(r,image,image.rect());
的setColor将整个图像设置为100.我需要根据buf数组中的字节对图像的每个像素着色 – indira 2012-03-12 06:13:34
没有标准的QImage格式需要8位。最小的需要16bits。查看格式的[QImage doc](http://qt-project.org/doc/qt-4.8/qimage.html#Format-enum)。 – Koying 2012-03-12 10:02:22