`

Drawable, Bitmap和byte[]的转换

 
阅读更多

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

1、Drawable → Bitmap
Java代码 
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

Java代码 
Resources res=getResources(); 
 
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic); 

3、Bitmap → byte[]

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

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

分享到:
评论

相关推荐

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

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

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

    以上就是关于`Drawable`、`Bitmap`和`byte[]`之间转换的具体实现方法。在实际开发中,根据不同的应用场景选择合适的方法进行转换是非常重要的。此外,还需要注意内存管理和性能优化的问题,例如适当调整图像大小和...

    Android Drawable、Bitmap、byte、灰度 转换

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

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

    在Android开发中,图片资源的处理是常见的需求之一,尤其涉及到不同格式间的转换,如Drawable、Bitmap、byte数组以及灰度图像的转换。这些转换在实际应用中具有重要意义,不仅能够优化内存使用,还能实现图像的高效...

    Bitmap,byte[],Drawable相互转化

    4. **Drawable转Bitmap**:对于Drawable对象,可以通过创建一个新的Bitmap和Canvas,然后将Drawable的内容绘制到Canvas上,从而得到Bitmap。`drawable.draw(canvas)`这一步就是将Drawable的内容复制到Bitmap。 5. *...

    Android Drawable和Bitmap的转换实例详解

    以下是一些关于Android Drawable和Bitmap转换的实例详解: 1. **Bitmap转Drawable** 当我们有一个Bitmap对象,需要将其设置为ImageView或者其它可显示图像的组件时,通常会将其转换为Drawable。这个过程相对简单,...

    androidbitmap的用法.pdf

    它首先创建一个Bitmap对象,根据Drawable的宽度、高度和透明度来确定Bitmap的配置,然后创建一个Canvas,将Drawable绘制到Canvas上,最后返回这个Bitmap。 2. **从资源加载Bitmap** 使用`BitmapFactory....

    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 ui

    图片处理是其中的重要部分,涉及`Drawable`和`Bitmap`的相互转换以及数据的序列化。理解并熟练掌握这些基本操作,对于优化应用程序的性能和用户体验至关重要。同时,资源的有效管理和使用,以及对高级UI特效的实现,...

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

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

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

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

    ImageChangeDemo

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

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

    无论是在加载、显示还是编辑图像时,都需要将各种数据格式转换成Bitmap对象,以便于系统能够处理和显示。以下是一些常用的Android图像数据转换方法: 1. RGB值转Bitmap: 在Android中,可以使用Color类的...

    android数据Bitmap数据的过程

    本文档将详细介绍如何在Android中通过自定义`SQLiteOpenHelper`子类来实现`Bitmap`数据的存储和读取过程。 #### 二、核心概念与原理 在深入探讨具体的代码实现之前,先简要介绍几个核心概念: 1. **...

    android图片处理总结

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

    复制drawable或raw中的文件、图片 到sd卡

    - 对于`drawable`资源,可以使用`getResources().getDrawable(id)`获取Drawable对象,然后调用`Drawable`的`toBitmap()`方法将其转换为Bitmap。 - 对于`raw`资源,使用`getResources().openRawResource(id)`获取...

Global site tag (gtag.js) - Google Analytics