`
zkl_1987
  • 浏览: 246878 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android 笔记 --- Bitmap与Drawable转换

阅读更多
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 ;   
            }   
      }



分享到:
评论

相关推荐

    Android开发者学习笔记——View、Canvas、bitmap

    Android开发者学习笔记——View、Canvas、bitmap Android 开发者学习笔记——View、Canvas、bitmap 是 Android 开发中常用的类,本文将通过实例讲解 View、Canvas 等相关知识点。 从资源中获取位图 在 Android ...

    android ui

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

    Android学习笔记

    drawable和bitmap是Android中处理图像资源的两种主要方式。Drawable是一个抽象的概念,可以表示多种图形,如颜色、位图、形状等,具有丰富的状态和动画支持。Bitmap则主要用于存储像素数据,是一种基本的图片格式,...

    模拟安卓印象笔记

    总的来说,实现"模拟安卓印象笔记"的功能,开发者需要具备扎实的安卓应用开发基础,熟悉富文本编辑、图像处理以及Android的生命周期管理。同时,还需要理解如何优化内存使用,以提供流畅的用户体验。此外,对于网络...

    edittext输入图片和文字

    使用ImageSpan需要先将图片转换为Bitmap,然后创建一个ImageSpan对象,最后将其插入到SpannableStringBuilder中。以下是一个简单的示例: ```java Drawable drawable = ContextCompat.getDrawable(context, R....

    Android自定义控件之开关按钮学习笔记分享

    这些图片通常是以Drawable的形式获取,但我们需要将其转换为Bitmap,以便在绘图时使用。 为了控制自定义开关的大小,我们需要重写`onMeasure()`方法。在这个方法中,我们需要根据背景图片的尺寸来设定自定义开关的...

    BitmapPixels示例中AGRB_8888疑问

    BitmapPixels示例中提到的AGRB_8888是一种颜色格式,它与Bitmap对象如何存储和处理像素信息密切相关。这个疑问可能源于对这种颜色格式的理解不清晰。在深入探讨之前,首先我们需要了解Bitmap的一些基本概念。 ...

    Android编程实现QQ表情的发送和接收完整实例(附源码)

    当找到一个表情代码时,会通过`BitmapFactory.decodeResource`方法将资源ID转换为`Bitmap`对象,然后使用`ImageSpan`包裹这个`Bitmap`,最后将其添加到`SpannableString`中,替换原有的表情代码。 4. **递归处理**...

Global site tag (gtag.js) - Google Analytics