获取系统图片资源 drawable和bitmap之间的转换
2014-05-08 11:21
411 查看
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;
}
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);
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();
}
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 ;
}
}
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;
}
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);
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();
}
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 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- android 获取资源文件 R.drawable中的图片转换为drawable、bitmap(转载)
- android 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- android 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- android在处理图片资源的时候,Drawable、Bitmap、byte[]之间的转换
- Bitmap和Drawable之间的相互转换、Bitmap和 byte[] 之间的相互转换、从资源中获取Bitmap
- Android 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- android 获取资源文件 r.drawable中的图片转换为drawable、bitmap
- Android图片二进制与Bitmap、Drawable之间的转换
- [Android] bitmap/drawable/byte的转换和获取圆角/倒影图片
- Bitmap与Drawable、byte[]、图片资源、图片文件的转换
- Android图片二进制与Bitmap、Drawable之间的转换
- Android图片二进制与Bitmap、Drawable之间的转换
- Bitmap与Drawable、byte[]、图片资源、图片文件的转换(二)
- Android图片二进制与Bitmap、Drawable之间的转换
- Android图片二进制与Bitmap、Drawable之间的转换
- Android图片二进制与Bitmap、Drawable之间的转换
- 安卓图片--Bitmap与Drawable与byte[]与InputStream之间的转换工具类【转】
- Bitmap以最省内存的方式获取本地资源,转换drawable到bitmap