我有一個字節(無符號字符)數組,其中包含一些數據。我已經將這個緩衝區傳遞給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