27 坐标系统和坐标变换

27.1 坐标变换方法

QPainter在窗口绘图区中绘制图形的默认坐标系,原点位于绘图区的左上角,X轴向右为正,Y轴向下为正,1代表1像素。这样的坐标系也叫设备坐标系。此外,QPainter还提供了一些坐标变换的功能,将设备坐标系平移、缩放、旋转、扭曲为逻辑坐标系。很多时候,在逻辑坐标系中绘制图形,比使用设备坐标更加方便。

QPainter类提供了一套与坐标变换有关的方法:

此外,QPainter类也支持通过坐标变换矩阵(CTM)变换坐标系。

27.2 案例

27.2.1 创建项目

通过QtCreator,在C:\Users\Minwei\Projects\Qt路径下,创建名为Transform的项目。

27.2.2 设计界面

C:\Users\Minwei\Projects\Qt\Transform\transformdialog.ui:

27.2.3 实现功能

C:\Users\Minwei\Projects\Qt\Transform\transformdialog.h:

C:\Users\Minwei\Projects\Qt\Transform\transformdialog.cpp:

27.2.4 测试验证

运行效果如图所示: