5

ピックスマップの特定の色を変更するにはどうすればよいですか?たとえば、白と黒のピクセルを含むピックスマップがあり、すべての白のピクセルを青に変更したいのですが、黒のピクセルはそのままにしておきます。または、黒を白に、白を青に変更することもできます... [Qt / PyQtで解決策を探していますが、これはピックスマップの処理/構成に関する一般的な質問です。]

4

1 に答える 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はピックスマップを に変換することに注意してください。可能であれば、直接QImage使用するようにしてください。QImage

于 2011-12-25T10:48:30.860 に答える