您的位置:首页 > 移动开发 > Android开发

Android图片二进制与Bitmap、Drawable之间的转换

2014-01-13 22:56 513 查看
Android图片二进制与Bitmap、Drawable之间的转换

Java代码

public byte[] getBitmapByte(Bitmap bitmap){

ByteArrayOutputStream out = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);

try {

out.flush();

out.close();

} catch (IOException e) {

e.printStackTrace();

}

return out.toByteArray();

}

public Bitmap getBitmapFromByte(byte[] temp){

if(temp != null){

Bitmap bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);

return bitmap;

}else{

return null;

}

}

public byte[] getBitmapByte(Bitmap bitmap){

ByteArrayOutputStream out = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);

try {

out.flush();

out.close();

} catch (IOException e) {

e.printStackTrace();

}

return out.toByteArray();

}

public Bitmap getBitmapFromByte(byte[] temp){

if(temp != null){

Bitmap bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);

return bitmap;

}else{

return null;

}

}

Java代码

public static Bitmap drawableToBitmap(Drawable drawable){

int width = drawable.getIntrinsicWidth();

int height = drawable.getIntrinsicHeight();

Bitmap bitmap = Bitmap.createBitmap(width, height,

drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888

: Bitmap.Config.RGB_565);

Canvas canvas = new Canvas(bitmap);

drawable.setBounds(0,0,width,height);

drawable.draw(canvas);

return bitmap;

}

public static Bitmap drawableToBitmap(Drawable drawable){

int width = drawable.getIntrinsicWidth();

int height = drawable.getIntrinsicHeight();

Bitmap bitmap = Bitmap.createBitmap(width, height,

drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888

: Bitmap.Config.RGB_565);

Canvas canvas = new Canvas(bitmap);

drawable.setBounds(0,0,width,height);

drawable.draw(canvas);

return bitmap;

}

Java代码

Drawable drawable = new FastBitmapDrawable(bitmap);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: