文章目录
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也提供了很多方法来方便你使用
method | descripiton |
---|---|
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中 |