如何更改像素图中的特定颜色?例如,我有一个包含白色和黑色像素的像素图,我想将所有白色像素都更改为蓝色,但不理会黑色像素。或者可能将黑色更改为白色,将白色更改为蓝色...... [我正在寻找 Qt/PyQt 中的解决方案,但也许这是关于如何处理/组合像素图的一般问题。]
问问题
7173 次
1 回答
10
您可以使用createMaskFromColor
为白色像素创建位图,然后使用drawPixmap
另一种颜色覆盖它们。
pix = QPixmap("test.png")
mask = pix.createMaskFromColor(QColor(255, 255, 255), Qt.MaskOutColor)
p = QPainter(pix)
p.setPen(QColor(0, 0, 255))
p.drawPixmap(pix.rect(), mask, mask.rect())
p.end()
请注意,这createMaskFromColor
会将像素图转换为 a QImage
,因此如果可能,您应该尝试QImage
直接使用 a 。
于 2011-12-25T10:48:30.860 回答