9.3.2 QPainter坐标系统转换示例

举报
DS小龙哥 发表于 2021/12/10 00:14:21 2021/12/10
2.7k+ 0 0
【摘要】 9.3.2 QPainter坐标系统转换示例   1.使用translate函数实现坐标平移变换 下面代码使用translate函数分别指定了不同的坐标位置作为当前绘图的原点坐标,并绘制了一个矩形和一个圆。观察矩形和圆绘制的位置即可明白translate函数用途。 void Widget::paintEvent(QPa...

9.3.2 QPainter坐标系统转换示例

1.使用translate函数实现坐标平移变换

下面代码使用translate函数分别指定了不同的坐标位置作为当前绘图的原点坐标,并绘制了一个矩形和一个圆。观察矩形和圆绘制的位置即可明白translate函数用途。


      void Widget::paintEvent(QPaintEvent *event)
      {
     	QPainter painter(this);
      	QPen pen;  //创建一个默认的画笔
      	pen.setStyle(Qt::SolidLine);//设置样式
      	pen.setWidth(5);     //设置宽度
      	pen.setBrush(Qt::red);//设置画刷
      	painter.setPen(pen);
      	painter.translate(100,100); //将(100,100)设为原点
      	painter.drawRect(0,0,50,50);//绘制矩形
      	painter.translate(-100,-100);//将坐标系统还原到(0,0)
      	painter.drawEllipse(10,10,50,50); //绘制圆;
      }
  
 

图9-3-14 坐标平移转换效果

2.使用rotate函数实现坐标系统顺时针旋转

默认情况下rotate()函数是以原点为中心进行顺时针旋转的,如果我们想要使其以其他点为中心进行旋转,就需要使

文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaolong.blog.csdn.net/article/details/120890856

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。