Android 获取Bitmap的几种方式
总结几种获取Bitmap的方式,以及Bitmap与二进制相互转换
- 方式一:通过R文件获取res/drawable下的图片
Bitmap bitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.icon)
FileInputStream is = new FileInputStream("/sdcard/icon.png");
Bitmap bitmap = BitmapFactory.decodeStream(is);
- 方式三:以ResourceStream的方式,与方式一的区别是不需要用到R文件
Bitmap bitmap=BitmapFactory.decodeStream(getClass()
.getResourceAsStream("/res/drawable/test.png"))
public byte[] Bitmap2Bytes(Bitmap bm) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
return baos.toByteArray();
}
public Bitmap Bytes2Bimap(byte[] b) {
if (b.length != 0) {
return BitmapFactory.decodeByteArray(b, 0, b.length);
} else {
return null;
}
}