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();bitmap.compress(Bitmap.CompressFormat.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;}}
参考链接
Android 中 资源文件图片转 Bitmap 和 Drawable 以及相互转换的方法相关推荐
- android 生成aar文件,Android 中.aar文件生成方法与用法
https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...
- 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )
文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...
- 【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )
文章目录 一.Android 中的 WebP 图片格式兼容问题 二.Android 中的 WebP 图片格式性能 三.参考资料 一.Android 中的 WebP 图片格式兼容问题 在 Android ...
- android 生成 资源文件,SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具...
Vector矢量图在Android项目中的利用愈来愈广泛,但是如果你想用Android Studio自带的工具将SVG图片转化成Vector资源文件却是相当麻烦,首先能支持的SVG规范较少,其次操作流 ...
- Android中如何根据图片url路径来获取网络图片
原文地址:Android中如何根据图片url路径来获取网络图片 1.根据图片的URL路径来获取网络图片,核心代码如下: public static Bitmap getBitmap(String pa ...
- 【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )
文章目录 一.Android 中的 WebP 图片格式使用 二.WebP 格式转换 三.WebP 参考文档 Android Plugin DSL Reference 参考文档 : Android St ...
- Android中的文件读写操作
在android开发中文件操作使用的其实还是比较高频的,之前我遇到这种需求都随便写写,对此没有一个比较全面的认识,所以想借这篇文章来梳理一遍. 由于需要读写文件,这包含了读写外部sd card的文件, ...
- Android应用资源文件替换方法
Android应用资源文件替换方法 仅供学习研究. 一 工具 1 7zip压缩解压缩软件 2 AndroidResEdit签名软件 二 步骤 以替换应用程序图标为例: 1 使用7zip提取androi ...
- Android中R文件ID值
Android中R文件ID值 文章目录 Android中R文件ID值 前言 知识回顾 在代码中访问资源 语法 R文件 Lib库的R文件 AAR中的R文件 依赖库R文件的生成 R文件的数量 后续疑问 官 ...
最新文章
- asp.net 防注入
- [转]Oracle 执行计划(Explain Plan) 说明
- 分布式事务 dtc 的使用
- 使用 SQL 语句从数据库一个表中随机获取一些数据
- 用Red5搭建支持WEB播放的实时监控视频
- 左右躲避障碍-神手ts版本
- linq to entity 基础
- C语言中变量的储存类别
- bootstrap使用
- 掰碎了讲换行符和回车符
- [转]asp 没有权限: 'CreateObject'的解决方法
- Java实现图片验证码功能
- 用Photoshop制作印章
- 燃油经济性加速时间曲线matlab,汽车理论课后习题Matlab程序详解
- ftp 使用get命令下出现550 Failed to open file,但是使用put命令没问题的解决方法
- 2022即将结束,2023,扬帆起航!
- 又是一道题拉开差距!IOI落幕,中国队三金一银,美国华人选手再获冠军
- 苹果系统这么没有关闭订阅服务器,iPhone 上没有取消订阅的选项怎么办?
- ms08_067,ms10_046漏洞复现与利用
- Fiddler 抓包下载 M3U8 视频