700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android 中 资源文件图片转 Bitmap 和 Drawable 以及相互转换的方法

Android 中 资源文件图片转 Bitmap 和 Drawable 以及相互转换的方法

时间:2022-01-12 08:08:57

相关推荐

Android 中 资源文件图片转 Bitmap 和 Drawable 以及相互转换的方法

Android 图片转换的方法总结:

一、Bitmap 转换成 Drawable

对 Bitmap 进行强制转换

Drawable drawable = new BitmapDrawable(bmp);

二、Drawable 转换成 Bitmap

方法一

通过 BitmapFactory 中的 decodeResource 方法,将资源文件中的R.mipmap.ic_launcher 转化成Bitmap。

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);

方法二

根据Drawable创建一个新的Bitmap,封装一个方法:

public static Bitmap drawableToBitmap(Drawable drawable) {int w = drawable.getIntrinsicWidth();//获取宽int h = drawable.getIntrinsicHeight();//获取高Bitmap.Config btmConfig =drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565;Bitmap bitmap = Bitmap.createBitmap(w, h, btmConfig);//绘制新的bitmapCanvas canvas = new Canvas(bitmap);drawable.setBounds(0, 0, w, h);drawable.draw(canvas);//返回bitmapreturn bitmap;}

方法三

将 Drable 对象转化成 BitmapDrawable ,然后调用 getBitmap 方法获取

Drawable drawable =getResources().getDrawable(R.mipmap.ic_launcher);//获取drawableBitmapDrawable bd = (BitmapDrawable) drawable;Bitmap bm= bd.getBitmap();

三、Bitmap 转换成 byte[]

封装方法

//Bitmap 转换成 byte[]public static byte[] bitmapToBytes(Bitmap bitmap){ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();press(pressFormat.PNG, 100, byteArrayOutputStream);return byteArrayOutputStream.toByteArray();}

四、byte[] 转化成 Bitmap

封装方法

public static Bitmap bytesToBitmap(byte[] b) {if (b.length != 0) {return BitmapFactory.decodeByteArray(b, 0, b.length); //返回bitmap} else {return null;}}

参考链接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。