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;
}
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;
}
}
转载
http://www.iteye.com/topic/642128
分享到:
相关推荐
文档中描述了Drawable Bitmap 几种转换方法供初学者使用。方法都是经过实践验证的。
Drawable Bitmap之间的转化Drawable Bitmap之间的转化
Android Drawable和Bitmap的转换实例详解 通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式 一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 ...
Drawable Bitmap InputStream byte[]相互转化工具类,单例模式
Android Drawable、Bitmap、byte、灰度 转换
Android Drawable、Bitmap、byte、灰度 之间的转换
很多开发者表示,不知道Android的Drawable和Bitmap之间如何相关转换。下面Android123给大家两种比较简单高效的方法。 一、Bitmap转Drawable 代码如下: Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd...
详细的介绍了android_Drawable、Bitmap、byte[]之间的转换 在android开发中非常实用
本文主要介绍Android中Drawable Bitmap Canvas Paint 之间的区别,这里对这几个概念做出详细介绍,开发Android游戏的朋友可以参考下
android 画图 bitmap drawable canvas paint
主要介绍了Android App开发中将View或Drawable转为Bitmap的方法,其中View转换时作者特别提到了getDrawingCache=null问题的解决方法,需要的朋友可以参考下
Bitmap的使用,加载Drawable、Assert、SDcard上的图片,进行变换、压缩等操作,Bitmap和Drawable相互转换,Bitmap和数组的相互转换。
自定义Drawable 实现图片圆角、圆形、椭圆形,帮助理解自定义Drawable; 自定义Drawable 实现图片圆角、圆形、椭圆形,帮助理解自定义Drawable;
主要介绍了Android Bitmap和Drawable的对比的相关资料,需要的朋友可以参考下
NULL 博文链接:https://wang-peng1.iteye.com/blog/669532
我们看一下如何将Url转换为Drawable. Url转换为Drawable 我们先看一下源码: private Drawable loadImageFromNetwork(String imageUrl) { Drawable drawable = null; try { drawable = Drawable
根据drawable id获取Bitmap 根据drawable id获取Drawable bitmap转drawable 获取资源图片 以最省内存的方式读取本地资源的图片 读取本地drawable中较大的资源图片 从文件得到BitMap 从数组得到Bitmap 从流中得到...