我在目标周围绘制一个椭圆。然而,椭圆没有连接和优雅。优雅我的意思是他们不顺利。这就是图像周围的椭圆看起来像
注意圆圈不平滑且有粗糙度我想使它成为一个光滑的圆/椭圆。有关如何做到这一点的任何建议?这是我目前正在做的省略号。
QPainter painter(target);
QPen pen;
pen.setColor(Qt::red);
pen.setWidth(4);
pen.setStyle( Qt::SolidLine);
pen.setCapStyle(Qt::SquareCap);
pen.setJoinStyle(Qt::BevelJoin);
painter.setPen(pen);
QRegion r(QRect(0, 0, 50, 50), QRegion::Ellipse);
painter.setClipRegion(r);
painter.drawPixmap(0, 0, source);
painter.drawEllipse(QRect(1, 1, 49, 49));
答案 0 :(得分:4)
您需要启用抗锯齿:
painter.setRenderHint(QPainter::Antialiasing);
答案 1 :(得分:3)
添加对
的调用painter.setRenderHint(QPainter::Antialiasing)
在绘图之前。
另请注意,基于区域的剪辑可能不是抗锯齿的,因此您最好只绘制您感兴趣的部分(通过绘制带有纹理QBrush的椭圆来实现)。