您的位置 首页 基础

android Matrix 运用

最近在使用Matrix进行绘图的操作。对Matrix的一些方法有了一些更深的体会,记下来,以便日后复习。Matrix常用的方法:(一)变换方法:Matrix提供了translate

最近在运用Matrix进行绘图的操作。对Matrix的一些办法有了一些更深的领会,记下来,以便日后温习。

Matrix常用的办法:

(一)改换办法:

Matrix供给了translate(平移)、rotate(旋转)、scale(缩放)、skew(歪斜)四种操作,这四种操作的内部完成进程都是经过matrix.setValues(…)来设置矩阵的值来到达改换图片的作用。

Matrix的每种操作都有set、pre、post三种操作,set是清空行列再增加,pre是在行列最前面刺进,post是在行列最后面刺进。

pre办法表明矩阵前乘,例如:改换矩阵为A,原始矩阵为B,pre办法的意义便是A*B

post办法表明矩阵后乘,例如:改换矩阵为A,原始矩阵为B,post办法的意义便是B*A

1.matrix.preScale(0.5f, 1);

2.matrix.preTranslate(10, 0);

3.matrix.postScale(0.7f, 1);

4.matrix.postTranslate(15, 0);

等价于:

translate(10, 0) -> scale(0.5f, 1) -> scale(0.7f, 1) -> translate(15, 0)

留意:后调用的pre操作先履行,然后调用的post操作则后履行。

set办法一旦调用即会清空之前matrix中的一切改换,例如:

1.matrix.preScale(0.5f, 1);

2.matrix.setScale(1, 0.6f);

3.matrix.postScale(0.7f, 1);

4.matrix.preTranslate(15, 0);

等价于

translate(15, 0) -> scale(1, 0.6f) -> scale(0.7f, 1)

matrix.preScale (0.5f, 1)将不起作用。

(二)映射办法

Matrix供给了mapXXX的办法,用于获取经matrix映射之后的值。主要有:mapPoints,mapRects,mapVectors等办法。

这些办法你会运用到:在你需求记住matrix操作之后的数值的时分。比方:记住矩形旋转34°(rotate)之后四个点的坐标。(你能够尝试着自己核算,你会发现很杂乱,还不准确)

需求留意的是,matrix的某些办法运用到中心点的时分,假如不设置,默许是以(0,0)为中心点的。

记下来,避免忘掉。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/298188.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部