android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下

转载 2012年03月27日 15:34:33

1、Drawable → Bitmap

Java代码 复制代码 收藏代码
  1. public static Bitmap drawableToBitmap(Drawable drawable) {   
  2.            
  3.         Bitmap bitmap = Bitmap   
  4.                         .createBitmap(   
  5.                                         drawable.getIntrinsicWidth(),   
  6.                                         drawable.getIntrinsicHeight(),   
  7.                                         drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888   
  8.                                                         : Bitmap.Config.RGB_565);   
  9.         Canvas canvas = new Canvas(bitmap);   
  10.         //canvas.setBitmap(bitmap);   
  11.         drawable.setBounds(00, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());   
  12.         drawable.draw(canvas);   
  13.         return bitmap;   
  14. }  

 

2、从资源中获取Bitmap

 

Java代码 复制代码 收藏代码
  1. Resources res=getResources();   
  2.   
  3. Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);  

 

3、Bitmap → byte[]

 

Java代码 复制代码 收藏代码
  1. private byte[] Bitmap2Bytes(Bitmap bm){   
  2.     ByteArrayOutputStream baos = new ByteArrayOutputStream();     
  3.     bm.compress(Bitmap.CompressFormat.PNG, 100, baos);     
  4.     return baos.toByteArray();   
  5.    }  

 
4、 byte[] → Bitmap

Java代码 复制代码 收藏代码
  1. private Bitmap Bytes2Bimap(byte[] b){   
  2.             if(b.length!=0){   
  3.                 return BitmapFactory.decodeByteArray(b, 0, b.length);   
  4.             }   
  5.             else {   
  6.                 return null;   
  7.             }   
  8.       }  

 

 

 

以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了,希望对大家也有一点用处!

相关文章推荐

探讨android图片资源的抖动处理和格式转换

android下图片资源从源图到显示需要经历三个步骤:使用aapt工具处理,图片解码,绘制。让我们按顺序一一探讨。 android开发指南对位图资源有如下描述: Bitmap files may ...

【Android】使用系统相机或者从相册中获取图片资源并进行适当裁剪

1.概述 在实际开发中,我们经常

图片资源类型转换为bitmap

1、网络图片: 背景:最新的SDK,不允许在main线程里面执行网络操作,否则报错:NetworkOnMainThreadException。 解决:在main线程中另开一个线程,进行相应的网络操...

android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存

经常会用到 网络文件 比如查看大图片数据 资源优化的问题,当然用开源的项目  Android-Universal-Image-Loader  或者 ignition 都是个很好的选择。 在这...

android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存

转来自:http://www.cnblogs.com/xiaoxiaojia/p/5481085.html android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存 ...

Android之ListView异步加载网络图片(优化缓存机制)和对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存

网上关于这个方面的文章也不少,基本的思路是线程+缓存来解决。下面提出一些优化: 1、采用线程池 2、内存缓存+文件缓存 3、内存缓存中网上很多是采用SoftReference来防止堆...
  • he90227
  • he90227
  • 2014年08月03日 10:47
  • 983

android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存

经常会用到 网络文件 比如查看大图片数据 资源优化的问题,当然用开源的项目  Android-Universal-Image-Loader  是个很好的选择。 在这里把原来 写过的优化的代码直接拿出来...

Android App 瘦身总结 第一章 图片资源的优化处理

当一款App经历了大量的迭代后,apk包会越来越臃肿,这里面会存在大量的情况。比如冗余的代码、无用的资源、未合理化处理的图片等等。 在经历了疯狂的迭代后,我和我的团队发现再也不能忽视apk大小的问题了...

Android中图片资源格式的转换

在Android中图片资源有很多种格式,比如Drawable,图片的资源ID,Bitmap,还有从文件中加载进来的原始形式字节形式,那这几种格式的图片怎样相互转换来用于不同的场景呢?之后还要说一种简单...

【Android】图片资源的加载、简单处理

Android常用的绘图类有Bitmap类、BitmapFactory类、Canvas类、Paint类,下面分别做简单的总结Bitmap类即位图类,主要方法有以下几个createBitmap(int ...
  • minkee
  • minkee
  • 2016年02月24日 00:30
  • 235
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下
举报原因:
原因补充:

(最多只允许输入30个字)