【发布时间】:2020-01-01 02:03:29
【问题描述】:
QPainter 在绘制时会叠加绘制。绘画时如何混合颜色?例如:如果画了一条绿线,然后在同一位置画了一条红线,线的颜色会是红色,我想得到红色和绿色的混合。
【问题讨论】:
标签: python python-3.x pyqt pyqt5 qpainter
QPainter 在绘制时会叠加绘制。绘画时如何混合颜色?例如:如果画了一条绿线,然后在同一位置画了一条红线,线的颜色会是红色,我想得到红色和绿色的混合。
【问题讨论】:
标签: python python-3.x pyqt pyqt5 qpainter
颜色不是叠加而是涂在上,当它们不透明时会发生这种情况。
只要您使用 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()
【讨论】: