此Camera非彼Camera,在android.graphics包里的Camera,可以理解为2D图形系统中的视角,或者照相机的机位,根据透视的原理我们可以实现一些简单的3D效果。
在ApiDemo中可参考那个Rotate3dAnimation例子。
其实Camera就两个方法:translate和rotate,下面逐一探讨一番吧。
代码很简单,做一个小小的自定义View来做试验罢了。我引入的这张图片尺寸是480*600(因为手机是480*854)。
通过实验可知:
translate(x,y,z),很好理解,见代码中的注释。坐标轴似乎与我们常规的理解不一样?为什么会这样呢?
rotateX,rotateY,rotateZ,也很好理解,机位的移动,对图片的影响正好是反向的。
最后要注意的是有两种方法应用这个机位的修改,效果也不一样,说不清,您可以自己尝试一下。