`
java-mans
  • 浏览: 11416151 次
文章分类
社区版块
存档分类
最新评论

Android中Matrix的set、pre、post的区别

 
阅读更多

说set、pre、post的区别之前,先说说Matrix。

Matrix包含一个3 X 3的矩阵,专门用于图像变换匹配。

Matrix提供了四种操作:

  • translate(平移)
  • rotate(旋转)
  • scale(缩放)
  • skew(倾斜)

也就是说这4种操作都是对这个3 X 3的矩阵设值来达到变换的效果。

Matrix没有结构体,它必须被初始化,通过reset或set方法。


OK,Matrix介绍完了,我们来看看set、pre、post的区别。

pre是在队列最前面插入,post是在队列最后面追加,而set先清空队列在添加(这也是上文提到的“Matrix没有结构体,它必须被初始化,通过reset或set方法”的原因)。

下面通过一些例子具体说明:

matrix.preScale(2f,1f);  
matrix.preTranslate(5f, 0f); 
matrix.postScale(0.2f, 1f);  
matrix.postTranslate(0.5f, 0f);

执行顺序:translate(5, 0) -> scale(2f, 1f) -> scale(0.2f, 1f) -> translate(0.5f, 0f)


matrix.postTranslate(2f, 0f); 
matrix.preScale(0.2f, 1f);   
matrix.setScale(1f, 1f); 
matrix.postScale(5f, 1f); 
matrix.preTranslate(0.5f, 0f); 

执行顺序:translate(0.5f, 0f) -> scale(1f, 1f) -> scale(5f, 1)



分享到:
评论

相关推荐

    详谈Android中Matrix的set、pre、post的区别

    下面小编就为大家带来一篇详谈Android中Matrix的set、pre、post的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Android开发Matrix操作图片

    在Android中,为我们提供一些封装好的方法可以进行一些简单的图像操作,总共分为rotate(旋转),scale(缩放),translate(平移)和skew(倾斜)四种,每一种变换都提供了set, post和pre三种操作方式,除了translate,其他...

    Matrix的set,pre,post调用顺序详解

    Matrix调用一系列set,pre,post方法时,可视为将这些方法插入到一个队列。当然,按照队列中从头至尾的顺序调用执行。 其中pre表示在队头插入一个方法,post表示在队尾插入一个方法。而set表示把当前队列清空,并且...

    matrix矩阵变换

    android matrix 矩阵变换 set pre post 区别

    Android中使用Matrix控制图形变换和制作倒影效果的方法

    Matrix的每种操作都有set、pre、post三种操作,set是清空队列再添加,pre是在队列最前面插入,post是在队列最后面插入。 pre方法表示矩阵前乘,例如:变换矩阵为A,原始矩阵为B,pre方法的含义即是A*B po

    Android 矩阵ColorMatrix

    中文名:坐标矩阵 高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。...Matrix调用一系列set,pre,post方法时,可视为将这些方法插入到一个队列.当然,按照队列中从头至尾的顺序调用执行.

    Tips_and_Tricks_with_DirectX_9.pdf

    Specular Bump Mapping on Pre-ps_1_4 Hardware 149 Matthew Halpin Voxel Rendering with PS_3_0 161 Aaron Burton Simulating Blending Operations on Floating-point Render Targets 172 Francesco Carucci ...

    ZJU_ACM_All_Anwer 搞编程的都知道的浙江大学A 题库.本书 集了所有经 Z 题解集,集合并附 Mathimaticsumerical algorithms 数值算法

    1526 Big Number 简单题,不过O(1)和O(n)还是有区别的:) 1529 Enigmatic Travel 简单题,不过个人感觉题目描述很令人费解 1530 Find The Multiple 简单题 1537 Playing with a Calculator 简单题 1577 GCD & ...

    浙江大学ACM题解/ZJU 题型分类

    1526 Big Number 简单题,不过O(1)和O(n)还是有区别的:) 1529 Enigmatic Travel 简单题,不过个人感觉题目描述很令人费解 1530 Find The Multiple 简单题 1537 Playing with a Calculator 简单题 1577 GCD & ...

    Text Mining: Classification, Clustering, and Applications

    5 Nonnegative Matrix and Tensor Factorization for Discussion Tracking 95 Brett W. Bader, Michael W. Berry, and Amy N. Langville 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

    eac3to V3.17

    * video without framerate information: framerate can be set (e.g. "-23.976") * video without framerate information: new framerate is written to bitstream * remaining non-fixed audio delay is now shown...

    Service Support-英文原版

    Preface.........................................................................................................................................- 1 - 1 Introduction.......................................

Global site tag (gtag.js) - Google Analytics