Skia图形引擎--SkMatrix

本文探讨Skia 2D引擎中的SkMatrix使用,包括旋转、平移等2D变换。介绍了矩阵左乘的概念,SkMatrix的旋转默认为顺时针,以及setRotate函数的使用。通过实例解析了向量绕指定点旋转的问题,指出绕点旋转的误解,并提供了正确解决方案。同时,讨论了预乘(pre)和后乘(post)的概念,建议阅读相关博文以深化理解。
摘要由CSDN通过智能技术生成

关于Skia 2D引擎个人不再赘述,网上有一些介绍。但是关于Skia具体应用的介绍,通过各种关键字进行检索,发现资料较少。

不好评论该引擎之优劣,从使用角度来讲,有特别需要了解的几个地方。

今天就使用Skmatirx时遇到的问题与大家分享,仅代表个人观点,如有错误之处,希望各位批评指正。

众所周知,矩阵包含有三大部分内容:旋转Rotate、平移Translate、缩放Sclae。Skia特立独行,额外提供了一个矩阵的变形分量Sclae。

个人臆断觉得Sclae和Sclae功能应该相同,没有使用到,也没有测试。

主要介绍下自己在使用rotate translate时遇到的问题:

1、Skia的矩阵是左乘还是右乘?

个人认为是左乘(如果不是左乘,后边都是扯淡),幸好源码贴出了矩阵左乘公式,佐证了我的第一眼赶脚。


2、Skia提供的setRotate(drg)接口的默认旋转是什么?

默认旋转为顺时针旋转,如若逆时针旋转,则应对参数相应更改。

3、Skia的fMat[9]如何表示矩阵?

fMat数组是采用行主序的形式表示矩阵,表示矩阵的方法与openGL相同,借助了齐次坐标思想。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值