我可以在Qt中轻松绘制纯色线,但现在我需要通过反转原始像素来绘制一条线,或者可能对QBrush进行异或。
我要求在Win32中等效SetROP2(R2_NOT)
或SetROP2(R2_XORPEN)
。
这可能使用Qt吗?我想这样做,所以我可以在以后轻松“重写”它。
答案 0 :(得分:7)
你可以这样做:
QPainter dc(widget);
dc.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
dc.setPen(QColor(0xff, 0xff, 0xff));
dc.drawEllipse(center, r1, r2);
描述了其他构图模式in the QPainter documentation。要撤消单个图形操作,这个应该正是你想要的 - 只需设置你在第一个地方使用的相同的笔并重绘形状。