【问题标题】:QPainter blend colorQPainter 混合颜色
【发布时间】:2020-01-01 02:03:29
【问题描述】:

QPainter 在绘制时会叠加绘制。绘画时如何混合颜色?例如:如果画了一条绿线,然后在同一位置画了一条红线,线的颜色会是红色,我想得到红色和绿色的混合。

【问题讨论】:

    标签: python python-3.x pyqt pyqt5 qpainter


    【解决方案1】:

    颜色不是叠加而是涂在,当它们不透明时会发生这种情况。
    只要您使用 alpha 值小于 255 的颜色,颜色就会“混合”。

    pixmap = QtGui.QPixmap(200, 200)
    pixmap.fill(QtCore.Qt.black)
    qp = QtGui.QPainter(pixmap)
    qp.setRenderHints(qp.Antialiasing)
    qp.setPen(QtCore.Qt.NoPen)
    qp.setBrush(QtGui.QColor(255, 0, 0, 85))
    qp.drawEllipse(40, 0, 120, 120)
    qp.setBrush(QtGui.QColor(0, 255, 0, 85))
    qp.drawEllipse(0, 80, 120, 120)
    qp.setBrush(QtGui.QColor(0, 0, 255, 85))
    qp.drawEllipse(80, 80, 120, 120)
    qp.end()
    

    【讨论】:

    • 我可以使用钢笔还是刷子是唯一可用的选项?
    猜你喜欢
    • 1970-01-01
    • 2014-09-22
    • 2017-09-23
    • 2011-06-21
    • 2011-05-07
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多