博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中 Bitmap和Drawable相互转换的方法
阅读量:6804 次
发布时间:2019-06-26

本文共 1194 字,大约阅读时间需要 3 分钟。

1、Drawable --> Bitmap

[java]
  1.     Bitmap drawable2Bitmap(Drawable drawable) {  
  2.         if (drawable instanceof BitmapDrawable) {  
  3.             return ((BitmapDrawable) drawable).getBitmap();  
  4.         } else if (drawable instanceof NinePatchDrawable) {  
  5.             Bitmap bitmap = Bitmap  
  6.                     .createBitmap(  
  7.                             drawable.getIntrinsicWidth(),  
  8.                             drawable.getIntrinsicHeight(),  
  9.                             drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  
  10.                                     : Bitmap.Config.RGB_565);  
  11.             Canvas canvas = new Canvas(bitmap);  
  12.             drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),  
  13.                     drawable.getIntrinsicHeight());  
  14.             drawable.draw(canvas);  
  15.             return bitmap;  
  16.         } else {  
  17.             return null;  
  18.         }  
  19.     }  

2、从资源中获取的Drawable --> Bitmap

[java]
  1.     Resources res = getResources();  
  2.     Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.pic);  

 

3、Bitmap --> Drawable

[java]
  1.     Drawable bitmap2Drawable(Bitmap bitmap) {  
  2.         return new BitmapDrawable(bitmap);  
  3.     }  

 

4、Bitmap --> byte[]

[java]
  1.     byte[] Bitmap2Bytes(Bitmap bm) {  
  2.         ByteArrayOutputStream baos = new ByteArrayOutputStream();  
  3.         bm.compress(Bitmap.CompressFormat.PNG, 100, baos);  
  4.         return baos.toByteArray();  
  5.     }  

 

5、 byte[] --> Bitmap

[java]
    1.     Bitmap Bytes2Bimap(byte[] b) {  
    2.         if (b.length != 0) {  
    3.             return BitmapFactory.decodeByteArray(b, 0, b.length);  
    4.         } else {  
    5.             return null;  
    6.         }  
    7.     }  

转载地址:http://fqjwl.baihongyu.com/

你可能感兴趣的文章
函数节流和函数防抖
查看>>
51CTO专访:谈谈SOC安全管理平台
查看>>
使用USB直接方式解决ESXi识别加密狗的问题
查看>>
创新团队中常见的几种“怪人”
查看>>
FreeBSD从零开始---Web服务器搭建(二)
查看>>
磁盘空间未释放异常案例
查看>>
Windows Server 2008 R2的DHCP高可用
查看>>
《网络工程师软考辅导——3年真题详解与全真模拟》主要创新点、关注点
查看>>
判断网址能不能访问
查看>>
Puppet 笔记 package file services
查看>>
CentOS 6.6 HAProxy安装配置指南
查看>>
用例设计大全(整理)
查看>>
C++对象数组的实例学习
查看>>
SQL Server 2012内存
查看>>
向云上迁移数据时如何避免停机和中断
查看>>
Spacewalk 1.7 With PostgreSQL
查看>>
网线的做法 及 POE的介绍
查看>>
回忆——我对方向的选择
查看>>
Microsoft 安全公告 MS12-020 - 严重。请大家关注!!
查看>>
goto到2014
查看>>