/** 将一个图片由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);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
drawable.draw(canvas);
return bitmap;
}
/** 讲byte[] 转换为 bitmap格式 */
public static byte[] bitmap2Bytes(Bitmap bm){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
}
/**bitmap 转换为 byte[]格式 */
public static Bitmap bytes2Bitmap(byte[] bytes){
if(bytes == null || bytes.length == 0){
return null;
}
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}