【问题标题】:Manipulate color of QImage - QT操纵 QImage 的颜色 - QT
【发布时间】:2016-07-05 00:09:20
【问题描述】:

我有一个通用图标图像,它有一个 alpha。假设一个黑色球体放置在一个方形按钮上,具有透明度。 现在我想动态更改图标的颜色,而不需要多张 sphere_black.png、sphere_red.png 等图像。 有没有办法为像素图着色,尊重 alpha 并更改该像素上的 HSV,用于地图中的所有内容?

我有这样的东西,但卡住了:

img = QtGui.QImage(kwargs['icon_path']
pxmap = QtGui.QPixmap(img)
for x in range(img.width()):
    for y in range(img.height()):
         print img.pixel(1, 1), '###'
         # ???? #

感谢任何帮助!

【问题讨论】:

    标签: python c++ image qt colors


    【解决方案1】:

    QGraphicsColorizeEffect 可能是您正在寻找的。可悲的是,QGraphicsEffect 类是用于图形视图框架的,它不能轻易应用于QImage。但是,正如this discussion 所示,有一些解决方法。

    QPixmapColorizeFilter::draw() 中效果的实现显示了着色是如何完成的:使用QPainter::fillRect() 在图像上绘制一个彩色矩形(其 alpha 设置为完全不透明的颜色),并使用适当的组合模式设置。

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多