Android Graphics.Camera类学习

      Camera这个类位于Graphics包下,一看便知是与绘图有关。

      顾名思义,Camera类的名字非常好的反映了这个类的功能:Camera类就是可以提供一种照相机的视角来展示图片。我们可以这样想象,图是静止的,竖直的放在三维空间的原点坐标,人拿着照相机从各个位置为图片拍照,这样我们就可以得到各个视角的图片的“照片”,把这些“照片”显示出来,就呈现出了3D效果,如果是连续展示,就出现了动画效果。

      似乎Camera类不能单独起作用,要和Metrix(矩阵)类一起使用,矩阵在图像变换中的作用十分重要。说到矩阵我就忍不住吐槽啊,我一正宗的北方小伙在四川读书容易么我,大一就碰上教线性代数的一奇葩老太太,一嘴的川普啊,完全不管我的感受有木有,完全听不懂有木有,老子一个学期都云里雾里的考试前自学了一个月才考过了有木有!毁人不倦啊,我这辈子都忘不了这老太太了,还教材作者呢,我呸!

【转】以下转自:android.graphics.Camera实现图像的旋转、缩放,配合Matrix实现图像的倾斜

个人总结Camera与Matrix的一些区别如下:

  1. Camera的rotate()相关方法是指定某一维度上旋转指定的角度。
  2. Matrix的rotate()相关方法实现的效果是顺时针旋转指定的角度;与Camera指定Z轴旋转效果相同,但方向相反。
  3. Camera的translate()方法根据某一维度上视点的位移实现图像的缩放,与Matrix的scale()相关方法作用效果相似,只是Matrix的scale()相关方法是直接指定缩放比例。
  4. Camera不支持倾斜操作,Matrix可以直接实现倾斜操作。

Camera的处理结果只是生成一个Matrix,该Matrix用于Bitmap或Canvas绘制Bitmap时才能产生旋转或缩放的效果。

自己写了一个小Demo,简单易懂,有兴趣可以拿去看看:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值