`

Bitmap、文件、流之间的转换

 
阅读更多

 

 

 

个人觉得,文件和Bitmap转换基本上都是通过流作为中间转换处理的。 

 

 

1 根据文件路径得到Bitmap对象

   BitmapFactory.decodeStream(FileInputStream, null, BitmapFactory.Options);

   BitmapFactory.decodeFile(String pathName, BitmapFactory.Options)//这个的实现是依赖于上面的方法

 

2 Bitmap保存到文件,以quality=100的质量将bitmap保存到输出流对应的文件中 

  bitmap.compress(CompressFormat.JPEG, quality, FileOutputStream);

3 Bitmap转到字节输出流,方法同上,输出流改为ByteArrayOutputStream 

4 压缩方法 bitmap.compress(CompressFormat.JPEG, quality, ByteArrayOutputStream); 

  其中quality<100则自动会压缩,压缩后放到流中,可以循环检测如果压缩后流太大>nk

  则quality每次减少m,知道压缩到我们想要的字节数量

5 流直接变成Bitmap对象

  Bitmap bitmap = BitmapFactory.decodeStream(InputStream, null, null);

6 从资源文件中加载Bitmap

   decodeResource(Resources res, int id, Options opts)

 

 

options.inJustDecodeBounds = true; 

true decoder不会反回Bitmap,但是会计算内部的一些参数,但bitmap不会分配内存

 

 

 

分享到:
评论

相关推荐

    文件,字节,流,BitmapImage和WriteableBitmap之间的转换

    本技巧将恢复我们在开发过程中所需的大多数转换类型

    Android代码-CommonLibary

    用于图片、文件、Bitmap、IO流之间的转换 &gt; log &gt; -- LogUtils。Log工具类,可控制Log输出开关、保存Log到文件、过滤输出等级 &gt; network &gt; -- 用于判断网络连接类型、监听网络变化、设置网络、开启GPS等。 &gt; toast &gt;...

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

    ActionScript开发人员指南中文版

    处理声音流文件 处理动态生成的音频 播放声音 加载和播放声音时的安全注意事项 控制音量和声相 处理声音元数据 访问原始声音数据 捕获声音输入 声音示例:PodcastPlayer 第章:使用视频 视频基础知识 了解视频格式 ...

    Android 开发技巧

    9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、给模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 9.84、EMULATOR命令行参数 322 9.85、...

    Android开发资料合集-World版!

    9.80、DRAWABLE、BITMAP、BYTE[]之间的转换 318 9.81、高循环效率的代码 320 9.82、给模拟器打电话发短信 321 9.83、加快模拟器速度 321 9.83.1、模拟器 “尚未注册网络” 322 9.84、EMULATOR命令行参数 322 9.85、...

    新版Android开发教程.rar

    支持视频格式: H.264 、流媒体、 3GPP 、 MPEG4 和 Codec 3GP ;支持音频格式: MP3 、 AAC 、 AAC+ 、 W MA 、 MPEG4 、 WAV 、 MIDI 、 REAL 、 AUDIO 和 OGG ;支持墙纸格式: JPG 、 BMP 、 PNG 和 GIF ;铃声 ...

    C++MFC教程

    而32位的系统中每一运行的程序都会有一个消息队列,所以系统可以在多个消息队列中转换而不必等待当前程序完成消息处理就可以得到控制权。这种多任务系统就称为抢先式的多任务系统。Windows95/NT就是这种系统。 1.3 ...

    PT80-NEAT开发指南v1.1

    NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

Global site tag (gtag.js) - Google Analytics