使用QImage自定义索引颜色( setColorTable )

使用QImage自定义索引颜色( setColorTable )

在我的项目中,我需要将具有多种颜色的图像转换为只使用我在自定义colorTable中设置的144个预定颜色中的任何一个的图像。

这是我的代码:

代码语言:javascript运行复制 QImage convImage(128, 128, QImage::Format_Indexed8);

convImage.setColorCount(144);

convImage.setColorTable(colorTable); //colorTable is a const QVector with 144 qRgb values.

//scaledImage is the source image

convImage = scaledImage.convertToFormat(QImage::Format_Indexed8,Qt::ThresholdDither|Qt::AutoColor);

ui->mapView->setPixmap(QPixmap::fromImage(convImage));我希望convImage只包含我创建的colorTable中存在的颜色,但是它似乎完全忽略了我设置的表,而是用256个最大颜色创建了它自己的唯一表。

我可以通过循环遍历每一个像素来自己索引所有的东西,并找到一种从colorTable中准确选择颜色的方法,但是我想知道我是否使用了错误的colorTable。我在文档中找不到任何东西来解释为什么要创建一个新的表。

耽误您时间,实在对不起。

相关推荐

「梦幻西游」苦行3000满意度要刷多久
bt365体育投注3

「梦幻西游」苦行3000满意度要刷多久

⌛ 07-09 👁️ 5737
橙蕉房子
英国投注网站365

橙蕉房子

⌛ 07-14 👁️ 2344