Android中Bitmap与Drawable、byte[ ]之间的转换
2018-03-20 19:02
357 查看
一、Drawable转换成Bitmap
方法一:Drawable drawable = getResources().getDrawable(R.drawable.ic);
BitmapDrawable bd = (BitmapDrawable) drawable;
Bitmap bm= bd.getBitmap();方法二:Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_drawable);方法三:public static Bitmap drawableToBitmap(Drawable drawable) {
// 取 drawable 的长宽
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
// 取 drawable 的颜色格式
Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565;
// 建立对应 bitmap
Bitmap bitmap = Bitmap.createBitmap(w, h, config);
// 建立对应 bitmap 的画布
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, w, h);
// 把 drawable 内容画到画布中
drawable.draw(canvas);
return bitmap;
} 二、Bitmap转换成Drawable
方法一:Drawable drawable = new BitmapDrawable(bitmap); 方法二:BitmapDrawable bd= new BitmapDrawable(getResource(), bm);BitmapDrawable是Drawable的子类,可以直接使用。
三、byte[ ]转换成Bitmappublic static Bitmap Bytes2Bimap(byte[] b) {
if (b.length != 0) {
return BitmapFactory.decodeByteArray(b, 0, b.length);
} else {
return null;
}
}四、Bitmap转换成byte[ ]public static byte[] getBytes(Bitmap bitmap){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
}
方法一:Drawable drawable = getResources().getDrawable(R.drawable.ic);
BitmapDrawable bd = (BitmapDrawable) drawable;
Bitmap bm= bd.getBitmap();方法二:Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_drawable);方法三:public static Bitmap drawableToBitmap(Drawable drawable) {
// 取 drawable 的长宽
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
// 取 drawable 的颜色格式
Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565;
// 建立对应 bitmap
Bitmap bitmap = Bitmap.createBitmap(w, h, config);
// 建立对应 bitmap 的画布
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, w, h);
// 把 drawable 内容画到画布中
drawable.draw(canvas);
return bitmap;
} 二、Bitmap转换成Drawable
方法一:Drawable drawable = new BitmapDrawable(bitmap); 方法二:BitmapDrawable bd= new BitmapDrawable(getResource(), bm);BitmapDrawable是Drawable的子类,可以直接使用。
三、byte[ ]转换成Bitmappublic static Bitmap Bytes2Bimap(byte[] b) {
if (b.length != 0) {
return BitmapFactory.decodeByteArray(b, 0, b.length);
} else {
return null;
}
}四、Bitmap转换成byte[ ]public static byte[] getBytes(Bitmap bitmap){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
}
相关文章推荐
- Android中Bitmap, ID,Drawable, Byte之间的转换
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- Android Bitmap - Drawable-Byte之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- 【Android】Bitmap、InputStream、Drawable、byte[]、Base64之间的相互转换
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换
- Android Drawable、Bitmap、byte[]之间的转换
- android在处理图片资源的时候,Drawable、Bitmap、byte[]之间的转换
- 【android】bitmap转换与处理相关工具类,Bitmap与DrawAble与byte[]与InputStream之间的转换
- android那些事之Bitmap、InputStream、Drawable、byte[]、Base64之间的转换关系
- Drawable、Bitmap、byte[]之间的转换 (android转)
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android学习 之 Bitmap Drawable byte[] 三者之间的转换以及把数组存入数据库及提取数据重新组合成所需对象,如图像
- Android Drawable、Bitmap、byte[]之间的转换
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类