刚开始学习android,以前学习J2me的时候也碰到过类似的问题,现在看到有同学总结过了,地址为:http://www.iteye.com/topic/642128
这里全文摘抄,以备学习:)
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,然后按照Bitmap到byte[]的方法操作。 10. byte[]到Drawable: 将byte[]转换为InputStream,然后使用InputStream到Drawable的方法。 在实现这些转换时,为了提高代码的复用性和...
### Android中Drawable、Bitmap与byte[]之间的转换 在Android应用开发过程中,经常需要对图像资源进行处理,这就涉及到了不同图像格式之间的转换。本文将详细介绍`Drawable`、`Bitmap`及`byte[]`三者之间的转换方法...
在Android开发中,图片资源的处理是常见的需求之一,尤其涉及到不同格式间的转换,如Drawable、Bitmap、byte数组以及灰度图像的转换。这些转换在实际应用中具有重要意义,不仅能够优化内存使用,还能实现图像的高效...
在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...
以下是一些关于Bitmap、byte[]、Drawable相互转化的实例: 1. **Bitmap转byte[]**:Bitmap对象可以通过`compress()`方法压缩成字节数组,通常会选择特定的格式如PNG或JPEG,并设置压缩质量。例如,`bm.compress...
1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为Bitmap时,可以使用以下方法: ```java public static Bitmap drawableToBitmap(Drawable drawable) { ...
Bitmap对象可以用来显示图片,进行图像处理,以及与各种图形资源(如Drawable)之间转换。以下是对给定文件中涉及的Android Bitmap用法的详细解释: 1. **Drawable到Bitmap的转换** 当你需要对一个Drawable对象...
转换过程通常是先将Drawable转换为BitmapDrawable,然后调用其getBitmap()方法获取Bitmap。示例代码如下: ```java Drawable d = xxx; // 获取Drawable对象 if (d instanceof BitmapDrawable) { BitmapDrawable...
本文详细介绍了Android中`Bitmap` 的基本操作方法,包括从资源中加载、转换为字节数组、字节数组转换为`Bitmap`、缩放、将`Drawable` 转换为`Bitmap`以及获取圆角图片。这些操作对于处理图像数据非常重要,是每个...
图片处理是其中的重要部分,涉及`Drawable`和`Bitmap`的相互转换以及数据的序列化。理解并熟练掌握这些基本操作,对于优化应用程序的性能和用户体验至关重要。同时,资源的有效管理和使用,以及对高级UI特效的实现,...
这段代码展示了如何从一个Drawable对象转换成Bitmap对象。主要步骤包括: - 创建一个与Drawable尺寸匹配的Bitmap。 - 创建一个Canvas,并设置其画布为Bitmap。 - 设置Drawable的边界,确保其能够完全绘制到Canvas上...
以下是一个将Drawable转换为Bitmap的方法: ```java public static Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); ...
从流中得到Bitmap 图片透明度处理 获取源图片的BITMAP,压缩,本地图片 bitmap转byte[] 获取缩略图 保存图片 光晕效果 获取bitmap的字节大小 将彩色图转换为黑白图 转换成圆角 高斯模糊 圆形图片 从Assets中读取图片...
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image); ``` 这里的`R.drawable.your_image`是你要识别的图片资源ID。 有了Bitmap后,我们就可以使用Zxing的QR码解码功能了。创建...
// 将Drawable转换为Bitmap Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); // 准备输出流 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); // 将Bitmap压缩为JPEG格式并写入输出...
如果需要将Drawable转换为Bitmap,可以使用BitmapFactory的decodeResource方法。 示例代码: ```java Bitmap icon = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_resource); ``` ...
本文将探讨一些关键的代码片段,涉及Bitmap、String、Drawable之间的转换,以及如何进行简单的图片处理。 1. **Bitmap转化为字符串**: 这个方法用于将位图(Bitmap)数据转换为可存储或传输的字符串形式。首先...
// 将Bitmap压缩成指定格式和质量的输出流 bmp.compress(Bitmap.CompressFormat.PNG, 100, os); initValues.put(T_BLOB, os.toByteArray()); SQLiteDatabase db = this.getWritableDatabase(); id = db.insert...