qt - 改变 QImage/QPixmap 的色调

标签 qt graphics qimage qpixmap

我认为这更多的是一个图形操作问题,但我想在 Qt (c++) 中完成这个问题。如果我有一个浅灰色的图像 - 比如说透明背景上的一个圆圈 - Qt 中是否有任何内置功能可以改变色调/饱和度来为其着色?

我想我可以逐个像素,并以数学方式修改 rgb - 将 x 添加到 r、g 和 b,以获得所需的颜色,但一定有比修改每个像素更好的方法。

Qt 文档中没有任何内容涉及图像处理,只是改变 Alpha 和颜色。我应该研究一个开源库(最终结果可能是一个独立销售的软件)?如果是的话,有什么建议吗?或者 Qt 文档中是否隐藏着一个 secret 函数,可以在不需要外部库/疯狂算法的情况下完成?

最佳答案

可能的行动方案:

  1. 将图像加载为 QImage
  2. 做一个QImage QImage::convertToFormat(QImage::Format_Indexed8) 获取索引 带有颜色表的图像
  3. 使用QRgb获取颜色表值 QImage::color (int i) const
  4. 使用QColor 操作颜色 ( QRgb color ) 和其他 QColor 方法
  5. 改变颜色 带有 void QImage::setColor ( int index, QRgb colorValue )
  6. 的表

关于qt - 改变 QImage/QPixmap 的色调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936021/

相关文章:

c++ - 将 QImage 分成更小的部分

c++ - QJsonObject::insert 与直接赋值给 QJsonValueRef 相比?

qt - QML Swipeview 无动画

java - 在 Android Paint 类中使用 PorterDuffXfermode 更改位图上的亮/暗强度

android - 各种 XML 形状作为一个可绘制对象

c++ - 如何有效地在窗口中滚动 1024x90000 图像?

qt - 使用带有标签的 QML 工具提示

c++ - Qt:一旦显示,如何将光标焦点转移到“查找”对话框/工具中的字段?

graphics - 如何以整数形式反转RGB颜色?

python - 灰度图像颜色表