首页 > 系统 > Android > 正文

android图片类型之间相互转换实现代码

2019-10-24 20:35:42
字体:
来源:转载
供稿:网友

这篇文章主要介绍了android图片类型之间相互转换的方法,涉及Android实现各种常用图片类型及字节类型的转换技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了android图片类型之间相互转换实现代码。分享给大家供大家参考。具体如下:

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

1、Drawable → Bitmap

Java代码如下:

 

 
  1. public static Bitmap drawableToBitmap(Drawable drawable) {  
  2. Bitmap bitmap = Bitmap  
  3. .createBitmap(  
  4. drawable.getIntrinsicWidth(),  
  5. drawable.getIntrinsicHeight(),  
  6. drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  
  7. : Bitmap.Config.RGB_565);  
  8. Canvas canvas = new Canvas(bitmap);  
  9. //canvas.setBitmap(bitmap);  
  10. drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());  
  11. drawable.draw(canvas);  
  12. return bitmap;  
  13. }  
  14. public static Bitmap drawableToBitmap(Drawable drawable) {  
  15. Bitmap bitmap = Bitmap  
  16. .createBitmap(  
  17. drawable.getIntrinsicWidth(),  
  18. drawable.getIntrinsicHeight(),  
  19. drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  
  20. : Bitmap.Config.RGB_565);  
  21. Canvas canvas = new Canvas(bitmap);  
  22. //canvas.setBitmap(bitmap);  
  23. drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());  
  24. drawable.draw(canvas);  
  25. return bitmap;  
  26. }  

2、从资源中获取Bitmap

Java代码如下:

 

 
  1. Resources res=getResources();  
  2. Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);  
  3. Resources res=getResources();  
  4. 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. }  
  6. private byte[] Bitmap2Bytes(Bitmap bm){  
  7. ByteArrayOutputStream baos = new ByteArrayOutputStream();  
  8. bm.compress(Bitmap.CompressFormat.PNG, 100, baos);  
  9. return baos.toByteArray();  
  10. }  

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. }  
  9. private Bitmap Bytes2Bimap(byte[] b){  
  10. if(b.length!=0){  
  11. return BitmapFactory.decodeByteArray(b, 0, b.length);  
  12. }  
  13. else {  
  14. return null;  
  15. }  

以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了。

希望本文所述对大家的Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表