QTransform Qt坐标转换

QTransform类定义了一个特定的用于2D坐标转换。


它的转换包括如何对坐标系统位置迁移,缩放,扭曲,旋转等,它在渲染图片中被用的非常多。

QTransform不同于QMatrix 它是一个真是的3*3的矩阵,允许进行可视化的转换。

QTransform的toAffine()的方法允许QTransform转换为QMatrix. 如果一个可视化的转换被用在特定的matrix, 这个转换将会导致一些数据的丢失。


QTransform是Qt推荐使用的转换类。

一个QTransform对象可以通过使用setMatrix(), scale(), rotate(), translate(), shear()等函数来构建。也就是说,它可以通过应用基础的矩阵操作来构建。这个矩阵可以在构建的时候定义,同事可以通过reset()函数来重置为默认的矩阵。


QTransform类支持图形原始数据的映射:一个给定的点,线,不规则图形,区域或者是绘制的路径通过matrix定义的数据通过map()函数都可以映射到坐标系统。

一个矩形的坐标可以通过mapRect()函数来进行转换,也可以通过mapToPolygon()函数转换为一个多边形。


QTransform提供了一个isIdentity()函数,如果这个matrix是个可以识别的matrix就会返回true, 同时isInvertible()函数也返回true,如果这个矩阵是一个非奇异矩阵。这个函数会返回倒数矩阵,如果它是可倒的话,同时adjoint()会返回该矩阵的经典伴随矩阵。determinant()函数将会返回这个矩阵的行列式。



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值