This commit is contained in:
sloop
2016-08-02 07:18:42 +08:00
committed by GitHub
parent 5da6d0d8ae
commit b1d57a1222

View File

@@ -55,6 +55,21 @@ $$)
**从上图可以看到最后三个参数是控制透视的这三个参数主要在3D效果中运用通常为(0, 0, 1),不在本篇讨论范围内,暂不过多叙述,会在之后对文章中详述其作用。**
**Matrix作用就是坐标映射那么为什么需要Matrix呢? 举一个简单的例子:**
我的的手机屏幕作为物理设备,其物理坐标系是从左上角开始的,但我们在开发的时候通常不会使用这一坐标系,而是使用内容区的坐标系。
以下图为例我们的内容区和屏幕坐标系还相差一个通知栏加一个标题栏的距离所以两者是不重合的我们在内容区的坐标系中的内容最终绘制的时候肯定要转换为实际的物理坐标系来绘制Matrix在此处的作用就是转换这些数值。
>
假设通知栏高度为20像素导航栏高度为40像素,那么我们在内容区的(00)位置绘制一个点,最终就要转化为在实际坐标系中的(060)位置绘制一个点。
![](http://ww4.sinaimg.cn/large/005Xtdi2jw1f624vi3eb6j30rs0goab5.jpg)
以上是仅作为一个简单的示例实际上不论2D还是3D我们要将图形显示在屏幕上都离不开Matrix所以说Matrix是一个在背后辛勤工作的劳模。
### Matrix优点
* 作用范围更广Matrix在自定义View图片动画效果上均有运用相比与之前讲对画布操作应用范围更广。