应用Qt如何绘制曲线,如心形,括号等。
1个回答
展开全部
首先我假设你懂得怎么用QPainter。如果不知道,去看QPainter的文档。
绘制曲线,首先要看曲线的类型。这几种曲线可以直接用QT的函数调用完成:
圆弧,椭圆弧:直接用QPainter的成员函数画。
二次和三次贝塞尔曲线:先构造对应的QPainterPath,再用QPainter::drawPath()画。
直线就不用说了。
如果不是以上曲线,需要自己分解。有个术语叫tessellation(网格化或者细分),就是在把你想画的曲线分解成许多很小的直线段,然后用画直线的方法画出来。只要分解得足够小,看上去跟光滑的曲线没有区别。如果你有兴趣去读qt的源码,你会发现qt画弧线和贝塞尔曲线也是用这种方法。
绘制曲线,首先要看曲线的类型。这几种曲线可以直接用QT的函数调用完成:
圆弧,椭圆弧:直接用QPainter的成员函数画。
二次和三次贝塞尔曲线:先构造对应的QPainterPath,再用QPainter::drawPath()画。
直线就不用说了。
如果不是以上曲线,需要自己分解。有个术语叫tessellation(网格化或者细分),就是在把你想画的曲线分解成许多很小的直线段,然后用画直线的方法画出来。只要分解得足够小,看上去跟光滑的曲线没有区别。如果你有兴趣去读qt的源码,你会发现qt画弧线和贝塞尔曲线也是用这种方法。
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询