Update
This commit is contained in:
@@ -55,6 +55,21 @@ $$)
|
|||||||
|
|
||||||
**从上图可以看到最后三个参数是控制透视的,这三个参数主要在3D效果中运用,通常为(0, 0, 1),不在本篇讨论范围内,暂不过多叙述,会在之后对文章中详述其作用。**
|
**从上图可以看到最后三个参数是控制透视的,这三个参数主要在3D效果中运用,通常为(0, 0, 1),不在本篇讨论范围内,暂不过多叙述,会在之后对文章中详述其作用。**
|
||||||
|
|
||||||
|
**Matrix作用就是坐标映射,那么为什么需要Matrix呢? 举一个简单的例子:**
|
||||||
|
|
||||||
|
我的的手机屏幕作为物理设备,其物理坐标系是从左上角开始的,但我们在开发的时候通常不会使用这一坐标系,而是使用内容区的坐标系。
|
||||||
|
|
||||||
|
以下图为例,我们的内容区和屏幕坐标系还相差一个通知栏加一个标题栏的距离,所以两者是不重合的,我们在内容区的坐标系中的内容最终绘制的时候肯定要转换为实际的物理坐标系来绘制,Matrix在此处的作用就是转换这些数值。
|
||||||
|
|
||||||
|
>
|
||||||
|
假设通知栏高度为20像素,导航栏高度为40像素,那么我们在内容区的(0,0)位置绘制一个点,最终就要转化为在实际坐标系中的(0,60)位置绘制一个点。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
以上是仅作为一个简单的示例,实际上不论2D还是3D,我们要将图形显示在屏幕上,都离不开Matrix,所以说Matrix是一个在背后辛勤工作的劳模。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Matrix优点
|
### Matrix优点
|
||||||
|
|
||||||
* 作用范围更广,Matrix在自定义View,图片,动画效果上均有运用,相比与之前讲对画布操作应用范围更广。
|
* 作用范围更广,Matrix在自定义View,图片,动画效果上均有运用,相比与之前讲对画布操作应用范围更广。
|
||||||
|
|||||||
Reference in New Issue
Block a user