Qt 2D 图形绘制与坐标系统变换全解析
1. Qt 2D 图形基础
Qt 的 2D 图形引擎基于 QPainter 类,它功能强大,可以绘制多种几何形状,像点、线、矩形、椭圆、弧、弦、扇形、多边形和贝塞尔曲线等,还能处理像素图、图像和文本。此外, QPainter 支持抗锯齿(用于文本和形状边缘)、Alpha 混合、渐变填充和矢量路径等高级特性,也支持线性变换,如平移、旋转、剪切和缩放。
QPainter 可以在多种“绘制设备”上进行绘制,例如 QWidget 、 QPixmap 、 QImage 或 QSvgGenerator 。它还能与 QPrinter 配合使用,用于打印和生成 PDF 文档,这意味着我们常常可以使用相同的代码在屏幕上显示数据和生成打印报告。
通过重新实现 QWidget::paintEvent() ,我们能够创建自定义小部件,并完全控制它们的外观。对于预定义的 Qt 小部件,我们可以指定样式表或创建 QStyle 子类来定制其外观和感觉。
在实际开发中,有时需要在 2D 画布上显示大量用户可交互的轻量级任意形状的项目。Qt 4.2 引入了全新的“图形视图”架构,以 QGraphicsView 、 QGraphicsScene 和 QGraphicsItem
超级会员免费看
订阅专栏 解锁全文
771

被折叠的 条评论
为什么被折叠?



