QPainter 绘图结构图
一、绘图设备 (Paint Device)
- QWidget(如窗口、控件)
- QPixmap(图像缓冲区)
- QPrinter(打印机)
- QImage(独立于硬件的图像)
- 其他继承自 QPaintDevice 的类
二、QPainter
- 构造函数:创建一个 QPainter 对象,并将其与绘图设备关联
QPainter painter(this);
- 绘图方法:
painter.drawxxx()
- 绘制基本形状(如矩形、椭圆、线条等)
- 绘制文本
- 绘制图像
- 绘制渐变
- 使用变换(如缩放、旋转、平移)
- 绘制复杂路径(使用 QPainterPath)
- 状态管理:
- 保存/恢复绘图状态
- 设置画笔(QPen)
- 设置画刷(QBrush)
- 设置字体(QFont)
- 设置渲染提示(QPainter::RenderHint)
- 变换:
- 缩放(scale)
- 旋转(rotate)
- 平移(translate)
- 剪切(shear)
- 变换矩阵(setTransform)
- 结束绘制:调用 QPainter 的析构函数或调用 end() 方法来结束绘制
三、绘图参数
- QPen:定义线条的样式、宽度、颜色等
- QBrush:定义填充区域的样式、颜色、渐变等
- QFont:定义文本的字体、大小、样式等
- QPainterPath:用于创建复杂的绘图路径
四、绘图流程
- 创建绘图设备(如 QPixmap 对象)
- 创建 QPainter 对象并将其与绘图设备关联
- 设置绘图参数(如 QPen、QBrush、QFont)
- 调用绘图方法(如 drawRect、drawText 等)进行绘制
- 如有需要,保存和恢复绘图状态
- 调用 QPainter 的析构函数或 end() 方法结束绘制
- 使用绘图设备(如显示 QPixmap 对象)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END