您当前的位置: 首页 > 

DS小龙哥

暂无认证

  • 1浏览

    0关注

    679博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

9.3.2 QPainter坐标系统转换示例

DS小龙哥 发布时间:2021-10-24 00:11:36 ,浏览量:1

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()函数是以原点为中心进行顺时针旋转的,如果我们想要使其以其他点为中心进行旋转,就需要使

关注
打赏
1664009229
查看更多评论
立即登录/注册

微信扫码登录

0.0399s