- QImage *qi = new QImage(data_ptr, width, height, QImage::Format_Indexed8);
- QVector<QRgb> grayTable;
- for(int i = 0; i < 256; i++)
- graytable.push_back(qRgb(i,i,i));
- qi->setColorTable(grayTable);
qt中仅有按照索引的8位位图,需要添加ColorTable,QImage中定义ColorTable的原型如下:
void QImage::setColorTable(constQVector<QRgb> colors)
Sets the color table used to translate color indexes to QRgb values, to the specified colors.
When the image is used, the color table must be large enough to have entries for all the pixel/index values present in the image, otherwise the results are undefined.