Android基础------图形和图像处理

Drawable  

简单使用 在xml中 src  Drawable文件夹下的图片名称
         代码中getResource().getDrawable(R.drawable.xxx);


bitMap  

bitMap 是位图  在处理图片的时候都不是在原图进行处理 都是重新画一张bitmap后在进行处理


Bitmap 生成 一般使用BitmapFactory decode 生成Bitmap  bitMap还可同drawable相互转换

BitmapDrawable   drawable = new BitmapDrawable(bitmap);   

BitMap bitmap = drawable.getBitmap()




Android 绘图基础 Canvas  paint 等

Canvas  提供了大量的绘图方法  
        主要可以分为两类    第一类是画一些基本的图形  如圆形 线段 等
                第二类是根据path画图形  path代表了某些路径  如 5边型三角形  一段圆弧等

        canvas   有个方法drawBitmapMesh();可以实现扭曲效果  如水波

path    path不仅仅代表了一 一些路径  同时还提供了一个PathEffect来定义绘制效果


shade   用于填充的


Matrix 矩阵 处理bitmap   

所有对图片进行处理后产生的新图片都是对原图片副本进行的处理




android 经典动画


帧动画
  原理简单 实现不麻烦 但是需要很多图片会使app显得比较大(apk文件的大小) 不推荐使用

  使用方法:
    1.将图片存放好 drawable 下 或者mipmap下
        2.定义一个动画文件  在drawable下新建一个xml文件即可
    3.将图片按照顺序存入xml文件中  总标签<animation-list>   分标签<item>


补间动画
    需要加载xml文件


属性动画
       需要加载xml文件


自定义动画:
       自定义动画的使用也是比较简单
1.继承Animation 类
2.重写其中的applyTransformation类



一般的View在实现较为复杂动画的时候会存在以下两点缺陷
1.view缺乏双缓冲机制 (两张画布交替更新)
2.如果想要更新view就必须重新绘制整个view



Andorid 中对于游戏动画 提供了一个更好的控件   SurfaceView

SurfaceView还可以用于播放视频(需要MediaPlayer播放声音),或者摄像头预览功能 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值