Qt如何绘制七——变换

2017-08-27 22:33:06  阅读 303 次 评论 0 条

    在这之前,我们用QPainter绘制了不少东西,这些东西都是规规矩矩很正经的玩意。其实QPainter也有着它不正经的一面。有时它不按套路出牌不在指定的位置画,有时画的大一点或小一点又或者画的东倒西歪的。但只要你掌握了它的变化的套路并加以利用,反而能为绘制创造出更多新意。接下来让我们认识一下他们。

    

    偏移(translate)

    默认情况下,绘制的原点在设备的左上角。通过设置偏移原点发生变化,绘制的内容也会相对应变化。

    例:

blob.png    偏移前用黑色在(50,110)处绘制了几个字,并且绘制了原点到文本位置的直线。 在偏移(50,50)后用绿色绘制了同样的内容。可以看出偏移后相对于原来的位置整体偏移了(50,50)。我们可以这么去理解:translate改变了绘制的原点,而我们绘制时使用的坐标都是相对于原点而言的。


    旋转(rotate)

    旋转,顾名思义就是让绘制的东西旋转。它是相对于原点按顺时针进行旋转的。

    例:

    blob.png

            例子中我们先偏移了(100,100),因为旋转是相对于原点位置旋转的,如果不往右偏移点旋转后估计这就看不到了。


    缩放(scale)

    scale可以对绘制的内容放大或缩小,它包含x轴和y轴两个方向。当输入的值大于1时放大,当输入的值小于1时则缩小。

    例:

    blob.png

    从图中可以看出不仅文字的大小变小了,连距离也被缩小了。缩放的计算也是相对于原点而言的。


相关文章:

Qt如何绘制(六)

本文地址:http://fearlazy.com/index.php/post/18.html
版权声明:本文为原创文章,版权归 fearlazy 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?