`

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不会分配内存

 

 

 

分享到:
评论

相关推荐

    C#中bitmap、stream、byte类型转换实例

    在处理图像时,我们可能会遇到需要在不同的数据类型之间转换的情况,比如从Bitmap到Stream,再到byte数组,最后再还原回Bitmap。这样的转换在上传图片、存储图片数据或在网络中传输时非常常见。本篇文章将详细介绍...

    图象文件转换器程序,可以使bmp,jpg,gif,tiff格式间相互转换(C#源代码编写)

    本文将深入探讨一个基于C#语言编写的图像文件转换器程序,它能够实现BMP、JPG、GIF和TIFF四种常见图像格式之间的相互转换。这个程序是在Visual Studio 2008环境下开发的,体现了C#在图形处理上的强大能力。 首先,...

    将Bitmap转成byte[]小例子

    在Android开发中,Bitmap是用于表示图像数据的一种对象,它...综上所述,Bitmap与byte[]之间的转换是Android图像处理中的常见操作,适用于多种场景。正确理解和使用这种转换方法,有助于优化应用程序的性能和用户体验。

    android-openCV中无法将Bitmap转换为Mat.pdf

    通常,我们使用`Utils.bitmapToMat()`方法来完成Bitmap到Mat的转换,这是一个便捷的桥梁,使两者之间能够互相转换。 然而,问题出现在当Bitmap的来源不同时,转换过程可能会失败。具体来说,有以下两种常见情况: ...

    Drawable Bitmap InputStream byte[]相互转化工具类

    在Android开发中,处理图像数据时,我们经常需要在Drawable、Bitmap、InputStream和byte数组之间进行转换。这些类型的转换在不同的场景下具有重要的作用,例如从网络加载图片、存储图片到本地或者显示在ImageView上...

    yuv转bitmap的动态库.so

    动态库.so文件提供了一个预编译的C或C++实现,用于高效地完成YUV到Bitmap的转换,这可以显著提高性能,因为原生代码运行在硬件级别的处理器上,相比于Java代码更加快速。 为了在Android应用中使用这个动态库,我们...

    bmp与avi之间的转换工具

    BMP,全称Bitmap,是一种无损的图像文件格式,广泛用于存储和显示数字图像。它保存了图像的原始像素数据,不包含任何压缩,因此通常文件体积较大。而AVI,作为一种视频文件格式,是由Microsoft开发的,它允许音频和...

    C#-PDF文件和图片互相转换

    在本主题中,我们将深入探讨如何使用C#进行PDF文件和图片之间的转换。PDF(Portable Document Format)是一种通用的文件格式,用于保存文档的布局和内容,而图像则包含了像素数据,通常用于展示视觉信息。以下是一些...

    Avi-Bmp源码 实现avi视频文件和Bmp图片序列之间的转换

    本项目主要涉及了如何使用源码实现在Windows环境下,基于MFC(Microsoft Foundation Classes)框架进行AVI视频文件与BMP图片序列之间的转换。下面将详细阐述相关知识点。 首先,AVI(Audio Video Interleave)是一...

    Bitmap,BitmapDrawable,Drawable.doc

    值得注意的是,Bitmap并不能直接实例化,而是需要通过特定的方法(如decodeFile、decodeResource等)从文件、资源或流中加载。 ### BitmapDrawable BitmapDrawable是Drawable的一个子类,专门用于将Bitmap对象封装...

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

    以上就是关于文件、字节、流、BitmapImage和WriteableBitmap之间转换的基本操作。了解并熟练掌握这些转换方法对于高效地在WPF和Windows Phone应用中处理图像和数据至关重要。在实际开发中,你可能还需要根据具体需求...

    libyuv.zip

    "libyuv.zip" 是一个包含libyuv源代码的压缩文件,libyuv是一个开源的跨平台视频处理库,主要用于在不同的颜色空间和像素格式之间进行转换,包括YUV到RGB以及RGB到YUV的转换。 **描述详解:** 描述中提到,“这里面...

    java 实现 bmp 转 jpg

    在Java编程语言中,将BMP(Bitmap)图像格式转换为JPEG(Joint Photographic Experts Group)格式是一项常见的图像处理任务。BMP是一种无损、未经压缩的图像格式,而JPEG则是一种广泛使用的有损压缩格式,适合存储...

    LabVIEW机器与视觉位图之间转换

    在这个“LabVIEW机器与视觉位图之间转换”的主题中,我们将深入探讨如何在LabVIEW环境中处理不同位深度的位图,特别是从32位和24位彩色图像转换到8位灰度图像的过程。 首先,理解位深度的概念至关重要。位深度是指...

    android webp格式转换库 全cpu类型支持

    在Android平台上,原生系统并不直接支持WebP格式,因此需要借助第三方库来实现WebP与Android常用的Bitmap之间的转换。标题提到的“android webp格式转换库”就是这样一个工具,它全面兼容了Android 6.0(API级别23)...

    图片格式转换

    在提供的代码中,首先使用 `FileStream` 打开图片文件,然后创建一个 `Bitmap` 对象,最后通过构造函数将 `Bitmap` 转换为 `Emgu.CV.Image, Byte&gt;` 类型。 2. **Byte[] 转换为 ImageSource**: 这种转换通常用于...

    android 文件上传(多个或单个),图片上传

    总结,Android的文件上传涉及文件选择、读取、压缩、转换为流,以及利用Multipart请求将数据发送到服务器。同时,配合JSON数据可以传递更多的业务信息。理解并熟练运用这些技术,能够帮助开发者实现高效且稳定的文件...

    .netC#中图片与BASE64码互相转换

    5. **清理资源**:关闭所有打开的文件流,并删除原始的BASE64文本文件。 具体实现代码如下: ```csharp private void Base64StringToImage(string txtFileName) { try { FileStream ifs = new FileStream...

    pb bmp2jpg jpg2bmp 图片格式转换 pb9

    在图像处理领域,BMP(Bitmap)是一种无损的位图格式,它存储图像的颜色信息,通常文件体积较大。而JPG(Joint Photographic Experts Group)则是一种有损压缩的格式,用于压缩照片或包含大量细节的图像,以减少文件...

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

    本篇将详细讲解Android中如何进行图片类型之间的转换,包括Drawable到Bitmap、从资源中获取Bitmap、Bitmap到byte数组以及byte数组到Bitmap的转换。 1. Drawable到Bitmap转换: 在Android中,Drawable是表示图像的...

Global site tag (gtag.js) - Google Analytics