QTransform类
QTransform类用于控制二维坐标系之间的转换
包含:位移、缩放、扭曲、旋转还有映射
首先看它的核心内容:
这是一个仿射变换矩阵(affine transformation),它包含了坐标系转换所需要的所有信息
element | description |
---|---|
m11 | 水平缩放 |
m22 | 垂直缩放 |
m21 | 水平扭曲 |
m12 | 垂直扭曲 |
m31(dx) | 水平位移 |
m32(dy) | 垂直位移 |
m13 | 水平映射 |
m23 | 垂直映射 |
m33 | 额外的映射因子 |
他们具体的功能可以看下图:
你可以直接使用
void setMatrix(qreal m11, qreal m12, qreal m13, qreal m21, qreal m22, qreal m23, qreal m31, qreal m32, qreal m33)
来设置这些元素
当然,QTransform也提供了很多方法来方便你使用
QTransform.translate(qreal dx, qreal dy)
dx,dy为任意大小的实数,保存到m31(dx)和m32(dy)中
QTransform.scale(qreal sx, qreal sy)
sx,sy为任意大小的实数,保存到m11和m22中
QTransform.rotate(qreal angle)
angle为任意大小的实数,不过为了便于阅读,最好是0到360之间
QTransform.shear(qreal sh, qreal sv)
sh,sv为任意大小的实数,保存到m12和m21中