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;
}
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);
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();
}
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;
}
}
private Bitmap Bytes2Bimap(byte[] b){
if(b.length!=0){
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
else {
return null;
}
}
分享到:
相关推荐
在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...
在Android开发中,图片资源的处理是常见...以上就是关于Android中Drawable、Bitmap、byte数组以及灰度图像之间转换的详细介绍,这些转换方法在实际开发中有着广泛的应用,掌握它们能够帮助开发者更灵活地处理图像资源。
### Android中Drawable、Bitmap与byte[]之间的转换 在Android应用开发过程中,经常需要对图像资源进行处理,这就涉及到了不同图像格式之间的转换。本文将详细介绍`Drawable`、`Bitmap`及`byte[]`三者之间的转换方法...
在Android开发中,处理图像数据时,我们经常需要在Drawable、Bitmap、InputStream和byte数组之间进行转换。这些类型的转换在不同的场景下具有重要的作用,例如从网络加载图片、存储图片到本地或者显示在ImageView上...
了解这些转换方法后,开发者可以根据具体需求灵活地在Bitmap和Drawable之间进行切换,从而更好地管理和操作Android应用程序中的图像资源。在实际开发中,需要注意内存管理和性能优化,比如避免不必要的大内存分配,...
5. **Bitmap转Drawable**:虽然Android没有直接提供Bitmap转Drawable的方法,但可以通过创建一个新的BitmapDrawable对象,将Bitmap作为参数传入,从而实现转换。 6. **制作圆角Bitmap**:通过自定义方法,如`...
当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为Bitmap时,可以使用以下方法: ```java public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap.createBitmap...
本文详细介绍了Android中`Bitmap` 的基本操作方法,包括从资源中加载、转换为字节数组、字节数组转换为`Bitmap`、缩放、将`Drawable` 转换为`Bitmap`以及获取圆角图片。这些操作对于处理图像数据非常重要,是每个...
Bitmap对象可以用来显示图片,进行图像处理,以及与各种图形资源(如Drawable)之间转换。以下是对给定文件中涉及的Android Bitmap用法的详细解释: 1. **Drawable到Bitmap的转换** 当你需要对一个Drawable对象...
### Android中Bitmap数据存储与读取过程详解 #### 一、引言 在Android开发过程中,经常需要处理图片数据,而`Bitmap`类是用于在内存中存储位图的重要类。有时为了应用的需求,我们需要将这些`Bitmap`数据持久化到...
本文将从Bitmap的基本概念出发,详细介绍Bitmap在Android中的应用方式、转换技巧及优化策略等。 #### 一、Bitmap基本概念 Bitmap类在Android中用于表示图像数据,它可以用来加载、存储和显示图片。Bitmap对象本身...
本篇将详细讲解Android中如何进行图片类型之间的转换,包括Drawable到Bitmap、从资源中获取Bitmap、Bitmap到byte数组以及byte数组到Bitmap的转换。 1. Drawable到Bitmap转换: 在Android中,Drawable是表示图像的...
如果需要将Drawable转换为Bitmap,可以使用BitmapFactory的decodeResource方法。 示例代码: ```java Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource); ``` ...
bitmap转byte[] 获取缩略图 保存图片 光晕效果 获取bitmap的字节大小 将彩色图转换为黑白图 转换成圆角 高斯模糊 圆形图片 从Assets中读取图片 按比例缩小图片(单位像素) 判断图片旋转情况 旋转图片 图片旋转 根据...
本文将详细介绍如何在Android环境中,利用Zxing库实现多二维码识别,以及如何将资源库中的图片转化为Bitmap来辅助这一过程。 首先,Zxing(ZXing,读作“zebra crossing”)是一个开源的、跨平台的条码解码库,支持...
然后,将字节数组转换回Bitmap对象,用于验证过程或二次处理: ```java byte[] logoBuf = logoStream.toByteArray(); Bitmap temp = BitmapFactory.decodeByteArray(logoBuf, 0, logoBuf.length); ``` 最后,调用`...
#### Drawable与Bitmap转换 在Android中,`Drawable`和`Bitmap`是两种常用的图像表示方式。`Drawable`是一个抽象类,用于描述屏幕上的图形对象,它可以是位图、颜色、形状等。`Bitmap`则代表实际的像素数据,用于...
#### 一、Bitmap、Drawable 和 byte[] 之间的相互转换 在 Android 开发中,图片的加载与显示是常见的需求之一。对于开发者来说,掌握 Bitmap、Drawable 以及 byte[] 之间的转换是非常重要的技能。 1. **Bitmap 转 ...
5. **BitMap、Drawable、inputStream及byte[] 互转**: 在处理图像资源时,这些转换操作很常见。例如,从输入流加载Bitmap,将Bitmap转换为Drawable,或将Bitmap、Drawable保存到字节数组,或者将字节数组反向转换...