Qt中如何用QImage::Format_Indexed8表示灰度图

博客介绍了在Qt中,对于仅有按照索引的8位位图,需要添加ColorTable。还给出了QImage中定义ColorTable的原型void QImage::setColorTable(constQVector<QRgb> colors),并说明使用图像时颜色表需足够大以涵盖所有像素/索引值。
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.


因为灰度值分别对应rgb相同的分布,因此取vector0-255对应为qRGB(i,i,i) i在0-255之间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值