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 以及相互转换的方法相关推荐

  1. android 生成aar文件,Android 中.aar文件生成方法与用法

    https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...

  2. 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )

    文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...

  3. 【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )

    文章目录 一.Android 中的 WebP 图片格式兼容问题 二.Android 中的 WebP 图片格式性能 三.参考资料 一.Android 中的 WebP 图片格式兼容问题 在 Android ...

  4. android 生成 资源文件,SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具...

    Vector矢量图在Android项目中的利用愈来愈广泛,但是如果你想用Android Studio自带的工具将SVG图片转化成Vector资源文件却是相当麻烦,首先能支持的SVG规范较少,其次操作流 ...

  5. Android中如何根据图片url路径来获取网络图片

    原文地址:Android中如何根据图片url路径来获取网络图片 1.根据图片的URL路径来获取网络图片,核心代码如下: public static Bitmap getBitmap(String pa ...

  6. 【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )

    文章目录 一.Android 中的 WebP 图片格式使用 二.WebP 格式转换 三.WebP 参考文档 Android Plugin DSL Reference 参考文档 : Android St ...

  7. Android中的文件读写操作

    在android开发中文件操作使用的其实还是比较高频的,之前我遇到这种需求都随便写写,对此没有一个比较全面的认识,所以想借这篇文章来梳理一遍. 由于需要读写文件,这包含了读写外部sd card的文件, ...

  8. Android应用资源文件替换方法

    Android应用资源文件替换方法 仅供学习研究. 一 工具 1 7zip压缩解压缩软件 2 AndroidResEdit签名软件 二 步骤 以替换应用程序图标为例: 1 使用7zip提取androi ...

  9. Android中R文件ID值

    Android中R文件ID值 文章目录 Android中R文件ID值 前言 知识回顾 在代码中访问资源 语法 R文件 Lib库的R文件 AAR中的R文件 依赖库R文件的生成 R文件的数量 后续疑问 官 ...

最新文章

  1. asp.net 防注入
  2. [转]Oracle 执行计划(Explain Plan) 说明
  3. 分布式事务 dtc 的使用
  4. 使用 SQL 语句从数据库一个表中随机获取一些数据
  5. 用Red5搭建支持WEB播放的实时监控视频
  6. 左右躲避障碍-神手ts版本
  7. linq to entity 基础
  8. C语言中变量的储存类别
  9. bootstrap使用
  10. 掰碎了讲换行符和回车符
  11. [转]asp 没有权限: 'CreateObject'的解决方法
  12. Java实现图片验证码功能
  13. 用Photoshop制作印章
  14. 燃油经济性加速时间曲线matlab,汽车理论课后习题Matlab程序详解
  15. ftp 使用get命令下出现550 Failed to open file,但是使用put命令没问题的解决方法
  16. 2022即将结束,2023,扬帆起航!
  17. 又是一道题拉开差距!IOI落幕,中国队三金一银,美国华人选手再获冠军
  18. 苹果系统这么没有关闭订阅服务器,iPhone 上没有取消订阅的选项怎么办?
  19. ms08_067,ms10_046漏洞复现与利用
  20. Fiddler 抓包下载 M3U8 视频

热门文章

  1. 运营规范安全教程:广子平台分析及建议
  2. 检验杜宾 瓦森检验法R语言_期货投资分析模拟试题及答案解析(6)
  3. Unity 2018.3全新Prefab预制件系统——官方视频笔记
  4. 某次 ctf Mobile 0x01 解题过程
  5. ZEMAX热分析/温度分析
  6. 黑群晖6.21无公网IP无域名内网穿透教程
  7. 讨教大学|可靠性工程师需要具备哪些能力?
  8. 用Python做非参数检验
  9. 盘点2021年全球AI芯片,详解“xPU”,请收下最新最全的知识点
  10. html与js项目引入react框架之渲染方式