- 浏览: 59384 次
- 性别:
- 来自: 成都
文章分类
最新评论
一、Bitmap转Drawable
Bitmap bm=xxx; //xxx根据你的情况获取
BitmapDrawable bd=new BitmapDrawable(bm);
因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。
二、 Drawable转Bitmap
转成Bitmap对象后,可以将Drawable对象通过Android的SK库存成一个字节输出流,最终还可以保存成为jpg和png的文件。
Drawable d=xxx; //xxx根据自己的情况获取drawable
BitmapDrawable bd = (BitmapDrawable) d;
Bitmap bm = bd.getBitmap();
最终bm就是我们需要的Bitmap对象了。
// 从资源中获取Bitmap
public static Bitmap getBitmapFromResources(Activity act, int resId) {
Resources res = act.getResources();
return BitmapFactory.decodeResource(res, resId);
}
// byte[] → Bitmap
public static Bitmap convertBytes2Bimap(byte[] b) {
if (b.length == 0) {
return null;
}
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
// Bitmap → byte[]
public static byte[] convertBitmap2Bytes(Bitmap bm) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
}
// 1)Drawable → Bitmap
public static Bitmap convertDrawable2BitmapByCanvas(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)Drawable → Bitmap
public static Bitmap convertDrawable2BitmapSimple(Drawable drawable){
BitmapDrawable bd = (BitmapDrawable) drawable;
return bd.getBitmap();
}
// Bitmap → Drawable
public static Drawable convertBitmap2Drawable(Bitmap bitmap) {
BitmapDrawable bd = new BitmapDrawable(bitmap);
// 因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。
return bd;
}
发表评论
-
TextView 的属性
2013-04-17 17:45 595收集到了TextView 的属性 ... -
ADT在线安装
2012-11-09 09:53 807注:转载自http://blog.csdn.net/kieve ... -
android 界面布局 很好的一篇总结 【转】
2012-04-26 15:24 961出处:http://www.cnblogs.com/awe ... -
android xml属性大全
2012-03-15 09:12 1054Android activity属性 android:all ... -
Android开发之屏幕大小自适应
2012-01-31 14:19 892屏幕大小: 一:不同的layout Android手机屏幕大小 ... -
Intent常用Uri
2012-01-21 09:37 837一、打开一个网页,类别是Intent.ACTION_VIEW ... -
android raw读取超过1M文件的方法
2011-11-01 15:48 862转载自:http://www.cnblogs.com/yaos ... -
Android Bitmap用法总结
2011-10-09 10:57 995转载自:http://blog.csdn.net/zhou69 ... -
Android之TextView------属性大全
2011-09-22 16:32 731android:autoLink设置是否当 ... -
Android内存泄漏简介
2011-09-09 16:28 837前言 不少人认为JAV ... -
Android的Parcel机制
2011-09-06 15:09 4051转载至:http://blog.csdn.net/caowen ... -
Android Context
2011-09-01 17:12 957在android中context可以作很多操作,但是最主要的功 ... -
android面试题
2011-06-27 11:57 10191.什么是Activity? 2.请描 ... -
android中的hdpi,ldpi,mdpi
2011-06-17 14:31 694Android2.1 和之后的版本 中的 drawable(h ... -
Android横竖屏
2011-06-08 11:22 884要解决的问题应该就两个: 一。布局问题; 二。重新载入问题。 ... -
访问android平台的通话记录CallLog
2011-06-01 15:31 1164转载自:http://android.tgbus.com/An ... -
Android软件权限知识普及
2011-05-27 11:08 889APK权限详细对照表 您的 ... -
Android调用WebService
2011-05-18 13:42 1103转载至:http://express.ruanko.com/r ... -
android实用代码片段
2011-05-06 10:58 7631. android获取到系统是24小时制还是12小时制 ... -
Android 应用程序退出的四种方法
2011-05-04 09:33 1512Android程序有很多Activi ...
相关推荐
在Android开发中,Drawable和Bitmap是两种常用的图像资源类型,它们各有特点且在不同场景下有不同的优势。了解和掌握它们之间的相互转换对于优化性能和提高用户体验至关重要。本篇将详细介绍如何在Android中进行...
将Bitmap转换为byte数组,通常是为了便于在网络上传输或存储到文件中。这个过程涉及压缩,可以选择不同的压缩格式和质量。 ```java private byte[] Bitmap2Bytes(Bitmap bm) { ByteArrayOutputStream baos = new ...
在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...
Android Drawable和Bitmap的转换实例详解 通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式 一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 ...
通过上述方法,开发者可以根据实际需求灵活地在`Drawable`和`Bitmap`之间进行转换,从而更好地处理Android应用中的图像资源管理问题。这些转换技巧对于优化用户体验、提高应用性能都有着重要的意义。
### Android中Drawable、Bitmap与byte[]之间的转换 在Android应用开发过程中,经常需要对图像资源进行处理,这就涉及到了不同图像格式之间的转换。本文将详细介绍`Drawable`、`Bitmap`及`byte[]`三者之间的转换方法...
很多开发者表示,不知道Android的Drawable和Bitmap之间如何相关转换。下面Android123给大家两种比较简单高效的方法。 一、Bitmap转Drawable 代码如下: Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd...
在Android应用开发中,将View或Drawable...总结,将View或Drawable转换为Bitmap是Android开发中的基础操作,但需要注意缓存大小和绘制过程中的细节。正确地处理这些问题可以确保在各种场景下都能得到正确的Bitmap结果。
在Android开发中,处理图像数据时,我们经常需要在Drawable、Bitmap、InputStream和byte数组之间进行转换。这些类型的转换在不同的场景下具有重要的作用,例如从网络加载图片、存储图片到本地或者显示在ImageView上...
Android Bitmap和Drawable是Android平台中两种常见的图形对象,虽然它们都可以用来显示图像,但是它们之间有着很大的区别。本文将对Android Bitmap和Drawable进行对比,帮助开发者更好地理解它们之间的区别和使用...
将Bitmap转换为Drawable相对简单,只需将Bitmap传递给BitmapDrawable的构造函数即可: ```java Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_icon); Drawable drawable = new ...
Android Bitmap 相关知识介绍 Android 中的 Bitmap 是一种特殊的类,它不能被直接创建,而只能通过 BitmapFactory 来获取。BitmapFactory 提供了多种方法来从不同的图像来源中获取 Bitmap,下面是其中的一些: 1. ...
本文详细介绍了Android中`Bitmap` 的基本操作方法,包括从资源中加载、转换为字节数组、字节数组转换为`Bitmap`、缩放、将`Drawable` 转换为`Bitmap`以及获取圆角图片。这些操作对于处理图像数据非常重要,是每个...
3. **Bitmap转换为byte数组**: 当需要将Bitmap保存到内存或发送到服务器时,可以将其转换为byte数组: ```java private byte[] Bitmap2Bytes(Bitmap bm) { ByteArrayOutputStream baos = new ...
5. **转换为Drawable**:绘制完成后,将Bitmap转换为Drawable对象,可以使用BitmapDrawable构造函数完成。然后,这个Drawable对象就可以像其他图片资源一样在XML布局或代码中使用。 6. **进一步扩展**:除了基本的...
5. **Bitmap转Drawable**:虽然Android没有直接提供Bitmap转Drawable的方法,但可以通过创建一个新的BitmapDrawable对象,将Bitmap作为参数传入,从而实现转换。 6. **制作圆角Bitmap**:通过自定义方法,如`...
在Android开发中,为了实现各种视觉效果,我们经常需要对图片进行处理,比如将矩形图片转换为圆形或带有圆角的图片。本教程将详细讲解如何通过自定义`Drawable`来实现这样的功能。 首先,我们需要理解`Drawable`在...