Qt 2D绘图学习

一、基本绘制和填充

1.QPainter对象

先创建一个QPainter对象,该对象必须在开始绘制时指定绘制设备,可以在构造时指定,也可以使用如下方式:

 	QPainter painter;
 	painter.begin(this);
 	painter.drawLine(QPoint(0,0),QPoint(100,100));
 	painter.end;

2.画笔或画刷

画笔QPen参数

	const QBrush &brush	//画刷
	qreal width					//线宽
	Qt::PenStyle				//画笔风格
	Qt::PenCapStyle			//画笔端点风格
	Qt::PenJoinStyle			//画笔连接风格

QBrush提供了画刷来填充图形,可以配合QGradient类指定渐变填充

	QLinearGradient linearGradient(p1, p2)//线性渐变,指定开始点和结束点
		linearGradient.setSpread()//指定渐变区域以外的扩散方式
		
	QRadialGradient radialGradient(p1, r, p2)//辐射渐变,指定圆心,半径,焦点

	QConicalGradient conicalGradient(p1, a)//锥形渐变,指定中心点和角度

二、坐标系统

1.基本变换

	scale()			//缩放
	rotate()		//顺时针旋转
	translate()	//平移坐标系统
	shear()		//围绕圆点扭曲坐标系统

	QPainter::save()		//储存变换矩阵
	QPainter::restore()	//将变换矩阵弹出

2.窗口和视口

视口:物理坐标下指定的一个任意矩形;
窗口:逻辑坐标下的相同矩形;

三、其他绘制

1.绘制路径

	QPainterPath path;
	path.moveTo(x, y);	//移动当前点
	path.lineTo(x, y);	//绘制直线
	path.cubicTo(p1, p2, p3); //绘制三次贝塞尔曲线
	path.addEllipse(p1, a, b); //向路径中添加一个椭圆

2.绘制图像

	QImage//提供与硬件无关的图像表示方法,可以直接访问像素数据,也可以作为绘图设备
	QPixmap//作为一个绘图设备将图像显示在屏幕上,其中像素有底层的窗口系统来进行管理
	QPicture//可以记录和重演QPainter命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值