Qt QTransform 二維坐標系之間的轉換


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中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM