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中