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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 14:41:12
应用Qt如何绘制曲线,如心形,括号等.
xSn@V{TP)"JR_!,6`0@ qX* f3;iڷ]9;ސ+ л!2s3w`wf@_Q>瞳L^*USxK6MJp{ ̱Fw*AaFf(va w9x/nāzww4Y?&@7e3 X ʆ-n1cúd`ݗhg00Ū J}jFi|`\$l'&+l-q˗rX?_D "F&´Ҁ3b~-d&2sʈQ\bjjrH #@$W6E\VjGIaaLF5>Ea #6:K`5%Pȣnvw2F@C`x5|>N$\57 HS|- 4U> %g|=Yv5cf C/q$__[#,݉: >I~z"M

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

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