• byte[] 、Bitmap与Drawbale 三者直接的转换


    经常遇到这种类似头疼的问题

    byte[] 、Bitmap与Drawbale 三者直接的转换
    1、byte[] ->Bitmap
    Bitmap Bitmap = BitmapFactory.decodeByteArray(data, offset, length);
    2、Bitmap->byte[] 这种转换我们应该将Bitmap看成是一张图片,这样我们想获取它的数据,就知道要通过流,而且是byte类型流,于是很容易记住转换方法 。
    (1)ByteArrayOutputStream out = new ByteArrayOutputStream();//获取流
    (2)bitmap.compress(CompressFormat.JPEG, 100, out);//将图片数据按照指定格式和质量压缩到某个流中,
    (3)byte[] buf = out.toByteArray();//将流转换为byte[]
    Bitmap 、Drawbale直接的转换方法特别好记,只有利用他们之间搭建着桥梁,BitmapDrawable,剩下的就是利用向上转型和向下转型的思路就可以搞定。
    3、Bitmap->Drawbale 向上转型,因为Drawbale更靠近图片文件。
    Drawable drawable = new BitmapDrawable(bitmap);
    4、Drawbale->Bitmap 向下转型
    Bitmap bitma = ((BitmapDrawable) bit).getBitmap();

    至于byte[] 与Drawbale之间的转换,那么Bitmap又相当于是桥梁。大家都懂得。

  • 相关阅读:
    token
    id
    vim
    http_proxy
    brew
    认证
    go
    linux 磁盘管理
    vmware
    vmware fusion
  • 原文地址:https://www.cnblogs.com/wangying222/p/6043767.html
Copyright © 2020-2023  润新知