图像操作小结

花了两天时间弄图像. 今天做一个小结

关于图像操作. 小结

相关类.
Drawable  就是一个可画的对象. 官方文档原话是:A Drawable is a general abstraction for "something that can be drawn."
Canvas 画布. 官方文档如是说: 用这个类来画一些东西, 前提要有4个基本的部件
    1. 一个bitmap用来确定像素. 可以看一下Canvas() 的构造函数, 有三个: Canvas(); Canvas(Bitmap); Canvas(long); 最后一个是隐藏的, 所以用Canvas的时候只会用到前两个
    2. 一个Canvas 是画布
    3. 一些基本的元素(像Rect, Path, text, Bitmap这些)
    4. 一个画笔(用来确定颜色与风格)
Bitmap 位图, 用来处理图像. 获取位图的信息. 比如尺寸, 像素, 位深, alpna, 颜色格式之类. 还可以操作像素值.
Matrix    矩阵. 用来处理图像的工具. 不用多解释了

1. 先加载进来, 图像源一般有三类. 网络类型, 本地文件, 资源文件
    BitmapFactory.decodeByteArray()
    BitmapFactory.decodeResource()
    BitmapFactory.decodeFile()
    
    从网络加载的话  一般都会使用第三方库
    所以, 加载图像只要使用BitmapFactory就可以了
    
2. 对图像进行操作
    缩放操作.
    
    /** 1. 直接创建一个缩放后的图像. 最后一个参数为true 表示变形的时候抗锯齿 */
    Bitmap.createScaledBitmap(srcBitmap, width, height, true);    
    
    /** 2. 绘制到Canvas后, 使用矩阵进行操作. (使用矩阵可以抗锯齿) */
    Matrix matrix = new Matrix();
    matrix.postScale(scale,scale,0,0);
    canvas.drawBitmap(bmp, matrix, null);
    
    #. 关于图像缩放变形后的抗锯齿, 除了上面说的两种方法. 还是下面的两种方法
    1. 对Paint使用抗锯齿
    paint.setAntiAlias(true);
    canvas.drawBitmap(bmp, 0,0,paint);
    2. 给canvas加抗锯齿
    canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
    
    图像拼接.
    将图像放到canvas上面操作. 怎么弄都行. 拼接,缩放,移动,旋转,裁剪...
    常用操作以及一些其它的特效处理. 可以参考下面的连接
    http://www.cnblogs.com/bill-joy/archive/2012/06/29/2570279.html
    http://www.cnblogs.com/feisky/archive/2010/01/10/1643460.html
    
   

转载于:https://www.cnblogs.com/emyueguang/p/5294586.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值