`
bingtian
  • 浏览: 56865 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Drawable、Bitmap、byte[]之间的转换

阅读更多

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

 

1、Drawable → Bitmap

public static Bitmap drawableToBitmap(Drawable drawable) {
        
        Bitmap bitmap = Bitmap
                        .createBitmap(
                                        drawable.getIntrinsicWidth(),
                                        drawable.getIntrinsicHeight(),
                                        drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
                                                        : Bitmap.Config.RGB_565);
        Canvas canvas = new Canvas(bitmap);
        //canvas.setBitmap(bitmap);
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
        drawable.draw(canvas);
        return bitmap;
}

 

2、从资源中获取Bitmap

 

Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);

 

3、Bitmap → byte[]

 

private byte[] Bitmap2Bytes(Bitmap bm){
    ByteArrayOutputStream baos = new ByteArrayOutputStream();  
    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);  
    return baos.toByteArray();
   }

 
4、 byte[] → Bitmap

private Bitmap Bytes2Bimap(byte[] b){
		    if(b.length!=0){
		    	return BitmapFactory.decodeByteArray(b, 0, b.length);
		    }
		    else {
		    	return null;
		    }
	  }

 

 

 

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

分享到:
评论
9 楼 lfx_cool 2010-10-13  
相当实在!
8 楼 aa87963014 2010-09-01  
   有区别?
7 楼 xmx0632 2010-09-01  
4、 byte[] → Bitmap

引用
private Bitmap Bytes2Bimap(byte[] b){
		    if(b.length!=0){
		    	return BitmapFactory.decodeByteArray(b, 0, b.length);
		    }
		    else {
		    	return null;
		    }
	  }



可以重构一下  ==>>


private Bitmap Bytes2Bimap(byte[] b){
		    if(b.length==0){
                return null;
		    }
            return BitmapFactory.decodeByteArray(b, 0, b.length);
	  }

6 楼 gqdy365 2010-08-31  
不错,我的得收藏!
5 楼 peterzb 2010-06-04  
lz有没有在Android上把从服务器获取到的图片byte[]直接绘制到界面上的例子, 好像Android有提供类似功能的API吧
4 楼 bingtian 2010-04-18  
melode11 写道
遇事不研究API,记这种现成代码,还对逻辑不加理解。这样恐怕不是一个程序员的风格吧。

呵呵,说的是,但是有些工具类型的还是记录一下比较好
3 楼 melode11 2010-04-16  
遇事不研究API,记这种现成代码,还对逻辑不加理解。这样恐怕不是一个程序员的风格吧。
2 楼 bingtian 2010-04-13  
zhs2472 写道
这个真的不错  很实用  以后想用不怕找不到了

呵呵~~是啊~~
1 楼 zhs2472 2010-04-12  
这个真的不错  很实用  以后想用不怕找不到了

相关推荐

    Drawable Bitmap InputStream byte[]相互转化工具类

    在Android开发中,处理图像数据时,我们经常需要在Drawable、Bitmap、InputStream和byte数组之间进行转换。这些类型的转换在不同的场景下具有重要的作用,例如从网络加载图片、存储图片到本地或者显示在ImageView上...

    android_Drawable、Bitmap、byte[]之间的转换.doc

    ### Android中Drawable、Bitmap与byte[]之间的转换 在Android应用开发过程中,经常需要对图像资源进行处理,这就涉及到了不同图像格式之间的转换。本文将详细介绍`Drawable`、`Bitmap`及`byte[]`三者之间的转换方法...

    Android Drawable、Bitmap、byte、灰度 之间的转换

    在Android开发中,图片资源的处理是常见...以上就是关于Android中Drawable、Bitmap、byte数组以及灰度图像之间转换的详细介绍,这些转换方法在实际开发中有着广泛的应用,掌握它们能够帮助开发者更灵活地处理图像资源。

    Android Drawable、Bitmap、byte、灰度 转换

    在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...

    Bitmap,byte[],Drawable相互转化

    5. **Bitmap转Drawable**:虽然Android没有直接提供Bitmap转Drawable的方法,但可以通过创建一个新的BitmapDrawable对象,将Bitmap作为参数传入,从而实现转换。 6. **制作圆角Bitmap**:通过自定义方法,如`...

    Android Drawable和Bitmap的转换实例详解

    了解这些转换方法后,开发者可以根据具体需求灵活地在Bitmap和Drawable之间进行切换,从而更好地管理和操作Android应用程序中的图像资源。在实际开发中,需要注意内存管理和性能优化,比如避免不必要的大内存分配,...

    androidbitmap的用法.pdf

    Bitmap对象可以用来显示图片,进行图像处理,以及与各种图形资源(如Drawable)之间转换。以下是对给定文件中涉及的Android Bitmap用法的详细解释: 1. **Drawable到Bitmap的转换** 当你需要对一个Drawable对象...

    android Bitmap用法总结

    当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为Bitmap时,可以使用以下方法: ```java public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap.createBitmap...

    android bitMap

    本文详细介绍了Android中`Bitmap` 的基本操作方法,包括从资源中加载、转换为字节数组、字节数组转换为`Bitmap`、缩放、将`Drawable` 转换为`Bitmap`以及获取圆角图片。这些操作对于处理图像数据非常重要,是每个...

    java_一些图片管理工具类的标准代码_android_bitmap转drawable_高斯模糊代码

    bitmap转byte[] 获取缩略图 保存图片 光晕效果 获取bitmap的字节大小 将彩色图转换为黑白图 转换成圆角 高斯模糊 圆形图片 从Assets中读取图片 按比例缩小图片(单位像素) 判断图片旋转情况 旋转图片 图片旋转 根据...

    android bitmap

    这段代码展示了如何从一个Drawable对象转换成Bitmap对象。主要步骤包括: - 创建一个与Drawable尺寸匹配的Bitmap。 - 创建一个Canvas,并设置其画布为Bitmap。 - 设置Drawable的边界,确保其能够完全绘制到Canvas上...

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

    本篇将详细讲解Android中如何进行图片类型之间的转换,包括Drawable到Bitmap、从资源中获取Bitmap、Bitmap到byte数组以及byte数组到Bitmap的转换。 1. Drawable到Bitmap转换: 在Android中,Drawable是表示图像的...

    android ui

    #### Drawable与Bitmap转换 在Android中,`Drawable`和`Bitmap`是两种常用的图像表示方式。`Drawable`是一个抽象类,用于描述屏幕上的图形对象,它可以是位图、颜色、形状等。`Bitmap`则代表实际的像素数据,用于...

    通过将资源库图片转化为Bitmap,使用Zxing库完成多二维码识别

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image); ``` 这里的`R.drawable.your_image`是你要识别的图片资源ID。 有了Bitmap后,我们就可以使用Zxing的QR码解码功能了。创建...

    ImageChangeDemo

    在Android开发中,`ImageView` 是一个非常常用的组件,用于显示图像资源,无论是从本地文件、...通过理解`Drawable`与`Bitmap`之间的关系,以及正确地进行转换和压缩操作,可以避免这些问题并确保代码的稳定性和效率。

    Android处理图像数据转换的各种方法

    如果需要将Drawable转换为Bitmap,可以使用BitmapFactory的decodeResource方法。 示例代码: ```java Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource); ``` ...

    android图片处理总结

    #### 一、Bitmap、Drawable 和 byte[] 之间的相互转换 在 Android 开发中,图片的加载与显示是常见的需求之一。对于开发者来说,掌握 Bitmap、Drawable 以及 byte[] 之间的转换是非常重要的技能。 1. **Bitmap 转 ...

    android数据Bitmap数据的过程

    读取`Bitmap`数据则需要从数据库中取出字节数组,并将其转换回`Bitmap`对象。实现代码如下: ```java public List, Object>> getData() { List, Object>> list = null; SQLiteDatabase db = this....

    Android编程之图片相关代码集锦

    本文将探讨一些关键的代码片段,涉及Bitmap、String、Drawable之间的转换,以及如何进行简单的图片处理。 1. **Bitmap转化为字符串**: 这个方法用于将位图(Bitmap)数据转换为可存储或传输的字符串形式。首先...

Global site tag (gtag.js) - Google Analytics