9.3.2 QPainter坐标系统转换示例

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

9.3.2 QPainter坐标系统转换示例

 

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

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


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

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

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

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

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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