Files
AndroidNote/CustomView/Advance/[9]Matrix_Basic.md

46 lines
2.3 KiB
Markdown
Raw Normal View History

2016-06-11 21:33:47 +08:00
# Matrix基础
2016-06-06 17:39:12 +08:00
2016-06-26 21:16:22 +08:00
前面扯了四篇 Path 相关的内容,本次终于要到了大家期盼已久的 Matrix(传说中的黑客帝国!!!):
2016-06-06 17:39:12 +08:00
2016-06-26 21:16:22 +08:00
![](http://ww1.sinaimg.cn/large/005Xtdi2jw1f4oyx5i8wbj308c0bj3zz.jpg)
2016-06-10 02:41:55 +08:00
2016-06-26 21:30:06 +08:00
如题,本篇的主角是 Matrix(其实并不是黑客帝国来着)。
2016-06-10 02:41:55 +08:00
2016-06-26 21:32:11 +08:00
仔细回想一下,我们在很多地方都见过 Matrix(画布操作drawBitmappath 等) 感觉它就像是一个烦人家伙,什么事情都想插上一脚。 然而实际情况却并非如此, Matrix 一直都在我们看不到的地方默默付出着, 如果没有了 Matrix 我们之前的很多方法都是无法运行的。
2016-06-26 21:30:06 +08:00
这么说来 Matrix 也算个厉害人物,那么这个 Matrix 到底是何方神圣呢?
2016-06-06 17:39:12 +08:00
2016-06-11 19:27:17 +08:00
>
2016-06-26 21:32:58 +08:00
#### Matrix 的翻译过来是矩阵模型。和其释义相同Matrix是一个矩阵其作用则是一个模型一个控制视图状态的模型。
2016-06-06 17:39:12 +08:00
2016-06-26 21:32:11 +08:00
也就是说, 我们进行界面视图等转换都是需要依靠 Matrix 的帮助的,例如我们之前在 [Canvas之画布操作](https://github.com/GcsSloop/AndroidNote/blob/master/CustomView/Advance/%5B3%5DCanvas_Convert.md) 中讲解过的画布操作,这些操作的核心就是改变 Matrix 的数值。
2016-06-11 21:46:30 +08:00
## Matrix方法表
2016-06-13 17:01:01 +08:00
Matrix 有很多常用和不常用的方法,在本篇中重点不在于这些方法的讲解,而是帮助大家理解 Matrix 的一些基本概念。
2016-06-26 20:49:05 +08:00
方法类别 | 相关API | 摘要
-----------|---------------------------------------------------------|-------------------------------------
比较方法 | equals hashCode | 比较、 获取哈希值
基本方法 | set reset setValues getValues | 设置、 重置、 设置数值、 获取数值
矩阵相关 | invert isAffine isIdentity | 计算逆矩阵、 是否是仿射矩阵、 是否是单位矩阵
数值计算 | mapPoints mapRect mapVectors | 计算 点、 矩形、 阵列 经过变换后点位置
设置(set) | setConcat setRotate setScale setSkew setTranslate | 设置变换
前乘(pre) | preConcat preRotate preScale preSkew preTranslate | 前乘变换
后乘(post) | postConcat postRotate postScale postSkew postTranslate | 后乘变换
2016-06-13 17:01:01 +08:00
2016-06-11 21:46:30 +08:00