应用Qt如何绘制曲线,如心形,括号等.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 00:42:04
应用Qt如何绘制曲线,如心形,括号等.

应用Qt如何绘制曲线,如心形,括号等.
应用Qt如何绘制曲线,如心形,括号等.

应用Qt如何绘制曲线,如心形,括号等.
首先我假设你懂得怎么用QPainter.如果不知道,去看QPainter的文档.
绘制曲线,首先要看曲线的类型.这几种曲线可以直接用QT的函数调用完成:
圆弧,椭圆弧:直接用QPainter的成员函数画.
二次和三次贝塞尔曲线:先构造对应的QPainterPath,再用QPainter::drawPath()画.
直线就不用说了.
如果不是以上曲线,需要自己分解.有个术语叫tessellation(网格化或者细分),就是在把你想画的曲线分解成许多很小的直线段,然后用画直线的方法画出来.只要分解得足够小,看上去跟光滑的曲线没有区别.如果你有兴趣去读qt的源码,你会发现qt画弧线和贝塞尔曲线也是用这种方法.