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

53 lines
1.9 KiB
Markdown
Raw Normal View History

2016-06-11 21:33:47 +08:00
# Matrix基础
2016-06-06 17:39:12 +08:00
前面扯了四篇 Path 相关的内容,本次终于要到了大家期盼已久的 Matrix没错就是传说中的黑客帝国:
2016-06-09 14:44:10 +08:00
![](http://ww1.sinaimg.cn/large/005Xtdi2jw1f4oyx5i8wbj308c0bj3zz.jpg)
2016-06-06 17:39:12 +08:00
2016-06-10 02:41:55 +08:00
勇敢的骚年啊,你是选择红药丸还是选择蓝药丸呢?
>
我选蓝色的,不要问我为什么。
![](http://ww1.sinaimg.cn/large/005Xtdi2jw1f4pji1l0lej308c04pwer.jpg)
好了,言止于此,不能说更多了,下面开始我们本篇的正题。
2016-06-06 17:39:12 +08:00
2016-06-10 13:55:01 +08:00
## 前言
2016-06-11 19:27:17 +08:00
如题,本篇的主角是 Matrix在 Canvas 中很多地方都有 Matrix 的身影,如: 画布操作drawBitmappath 等。几乎无处不在,那么 Matrix 到底是干什么的呢?
2016-06-06 17:39:12 +08:00
2016-06-11 19:27:17 +08:00
>
**Matrix 的翻译过来是矩阵模型。和其释义相同Matrix是一个矩阵其作用则是一个模型一个控制视图状态的模型。**
2016-06-06 17:39:12 +08:00
2016-06-13 17:01:01 +08:00
我们之前在 [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-12 21:49:32 +08:00
方法类别 | 相关API | 摘要
---|---|---
2016-06-13 17:01:01 +08:00
比较 | equals | 比较两个矩阵是否相同
获取数值 | getValues | 获取矩阵的数值
获取哈希值 | hashCode | 获取矩阵的哈希值
获取逆矩阵 | invert | 如果矩阵可逆,获取其逆矩阵
是否是仿射矩阵 | isAffine |判断是否是仿射矩阵
是否是单位矩阵 | isIdentity | 判断是否是单位矩阵
2016-06-14 04:10:46 +08:00
获取变换后位置 | mapPoints | 计算一个点在变换后点的位置
获取变换后位置 | mapRect | 计算一个矩形变换后点位置
2016-06-14 17:11:26 +08:00
获取变换后位置 | mapVectors | 计算一个向量阵列变换后点位置
2016-06-26 01:32:34 +08:00
后乘 | postConcat | 原始矩阵后乘一个新的矩阵
2016-06-13 17:01:01 +08:00
2016-06-11 21:46:30 +08:00