`
zhanglibin1986
  • 浏览: 374521 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android图片资源转换

阅读更多

android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:

1、Drawable → Bitmap

Java代码

   1. public static Bitmap drawableToBitmap(Drawable drawable) { 
   2.
   3.         Bitmap bitmap = Bitmap 
   4.                         .createBitmap( 
   5.                                         drawable.getIntrinsicWidth(), 
   6.                                         drawable.getIntrinsicHeight(), 
   7.                                         drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 
   8.                                                         : Bitmap.Config.RGB_565); 
   9.         Canvas canvas = new Canvas(bitmap); 
  10. //canvas.setBitmap(bitmap);
  11.         drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); 
  12.         drawable.draw(canvas); 
  13. return bitmap; 
  14. } 

public static Bitmap drawableToBitmap(Drawable drawable) {
       
        Bitmap bitmap = Bitmap
                        .createBitmap(
                                        drawable.getIntrinsicWidth(),
                                        drawable.getIntrinsicHeight(),
                                        drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
                                                        : Bitmap.Config.RGB_565);
        Canvas canvas = new Canvas(bitmap);
        //canvas.setBitmap(bitmap);
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
        drawable.draw(canvas);
        return bitmap;
}

2、从资源中获取Bitmap

Java代码

   1. Resources res=getResources(); 
   2.
   3. Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic); 

Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);

3、Bitmap → byte[]

Java代码

   1. private byte[] Bitmap2Bytes(Bitmap bm){ 
   2.     ByteArrayOutputStream baos = new ByteArrayOutputStream();   
   3.     bm.compress(Bitmap.CompressFormat.PNG, 100, baos);   
   4. return baos.toByteArray(); 
   5.    } 

private byte[] Bitmap2Bytes(Bitmap bm){     ByteArrayOutputStream baos = new ByteArrayOutputStream();      bm.compress(Bitmap.CompressFormat.PNG, 100, baos);      return baos.toByteArray();    }

4、 byte[] → Bitmap

Java代码

   1. private Bitmap Bytes2Bimap(byte[] b){ 
   2. if(b.length!=0){ 
   3. return BitmapFactory.decodeByteArray(b, 0, b.length); 
   4.             } 
   5. else { 
   6. return null; 
   7.             } 
   8.       } 

private Bitmap Bytes2Bimap(byte[] b){
    if(b.length!=0){
    return BitmapFactory.decodeByteArray(b, 0, b.length);
    }
    else {
    return null;
    }
  }

以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了,希望对大家也有一点用处!
分享到:
评论

相关推荐

    Android Drawable和Bitmap的转换实例详解

    主要介绍了Android Drawable和Bitmap的转换实例详解的相关资料,需要的朋友可以参考下

    android图片文件的路径地址与Uri的相互转换方法

    下面小编就为大家带来一篇android图片文件的路径地址与Uri的相互转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Android 将网络的Url资源转换为Drawable资源方式

    这些都简单,但是当我获取到了图片的Url时,我就遇到了一个非常尴尬的问题。就是如何将Url转换为Drawabl并且添加到ImageView. 这边的获取图片的Url就不说了。我们看一下如何将Url转换为Drawable. Url转换为Drawable ...

    Android 将本地资源图片转换成Drawable,进行设置大小操作

    主要介绍了Android 将本地资源图片转换成Drawable,进行设置大小操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    android图片类型之间相互转换实现代码

    本文实例讲述了android图片类型之间相互转换实现代码。分享给大家供大家参考。具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1、Drawable → Bitmap Java代码如下: ...

    eoeAndroid特刊第二期:Android图像处理篇 pdf

    eoeAndroid特刊第二期:Android图像处理篇 pdf,eoeAndroid策划的第二篇专题,主要整理和翻译在Android中进行图像处理的一些资源和文章,通过本专题内容的学习,您可以掌握如何在Android上对图片编程,主要包括但不...

    android还原短信、开机启动、dp和xp转换、root下禁用组件等

    android中常用的功能抽取出来的Demo.android dp和px之间转换,android root下禁用组件,android 还原短信,android 开机启动,android 判断网络状态,android 设置apn,android 调节屏幕亮度,android 重启,异步...

    集成目前Android主流优秀第三方组件

    Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络操作...

    通过将资源库图片转化为Bitmap,使用Zxing库完成多二维码识别

    基准环境:Android studio 3.1.3 gradle:4.4 通过将资源库图片转化为Bitmap,使用Zxing的接口完成二维码识别。

    svg-to-compose:在Jetpack Compose代码中转换SVG和Android Vector Drawable

    将SVG或Android Vector Drawable转换为Compose代码。 为什么这个项目 在的开头,它不支持SVG文件和Android Vector Drawables。 这也给将应用程序迁移到多平台(台式机和Android)造成了困难。 目前,它确实支持桌面...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    批量转换 SVG 格式图片为 Vector Asset 矢量图资源

    【Android 安装包优化】Android 中使用 SVG 图片 ( 批量转换 SVG 格式图片为 Vector Asset 矢量图资源 ) https://hanshuliang.blog.csdn.net/article/details/116588634 博客资源

    Android处理图像数据转换的各种方法

    主要介绍了Android处理图像数据转换的各种方法,本文讲解了RGB值转Bitmap、Color值转Bitmap、字节数组转Bitmap、读取文件转Bitmap、读取资源转Bitmap、输入流转Bitmap等内容,需要的朋友可以参考下

    Android代码-MyUtils

    File文件操作工具、日期获取和计算工具、界面跳转Intent操作工具、字符串验证和数值转换操作工具、手机震动工具、系统资源操作工具、网络检测工具、 wifi操作工具、单位换算工具、zip压缩和解压操作工具、XML解析...

    安卓开发--Android连连看游戏源码(附赠参考实验报告).zip

    通过反射获取R.drawable的所有Field(Android的每张图片资源会自动转换为R.drawable的静态Field),并将这些Field值添加到一个List集合中。 2.从第一步得到的List集合中随机抽取N/2个图片ID。 3.从第二步得到的N...

    Android项目OCR文字识别.rar

    本资源为一套基于Android平台的OCR(光学字符识别)文字识别项目。它可以帮助开发者快速实现移动端的文字识别功能,支持多种语言,包括但不限于中文、英文等。该项目采用开源技术,可二次开发定制,满足各种应用场景...

    Android插件

    它导入Android图标与Material图标的Drawable ,批量导入Drawable ,多源导入Drawable(即导入某张图片各种dpi对应的图片) 14.SelectorChapek for Android 通过资源文件命名自动生成Selector文件。 15....

    Android开发应用实战详解源代码

    3.8 页面间的转换 3.9 activity调用 3.10 多个activity间的数据传递 3.11 将数据返回到前一个activity 3.12 对话框交互处理 3.13 文字颜色置换 3.14 文字字体设置 3.15 拖动相片特效 3.16 简易计算器 3.17 about信息...

Global site tag (gtag.js) - Google Analytics