`

byte[]将图片变为字节存入流中,然后Bitmap将流读出,显示图片

阅读更多
  这几天遇到一个问题,绊住好长时间,为了以后有据可查,现在记录下来。

问题:选中图片还会用在别的地方,所以先把图片以某种方式保存起来,然后到了用的时候再将图片取出来用。

这个的做法比较容易想到的就是流来存然后取;

1。首先就是先把图片读成字节,然后将字节保存在流中。


      //存储图片,变成byte形式,便于在上面取出
   byte[] buffer=new byte[1024];
                       //等号后面是图片的路径
        InputStream in= cr.openInputStream(uri);
                        //下面是将图片读成字节,而且是以1024为单位读的
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
//定义整数类型对象   
int number;
                         //利用循环方式将图片读完整
    while((number=in.read(buffer, 0, buffer.length))>0)
    {
    baos.write(buffer, 0, number);
    }
                        //将字节保存到byte[]数组对象中
    byte[] reallyByte=baos.toByteArray();
    //byte存储了图片,然后再用流存储图片,定义文件名和访问权限
    OutputStream os = openFileOutput("file.txt",Activity.MODE_PRIVATE);
    os.write(reallyByte);
    os.close();
//log一下,检验是否真的有字节存放到了指定文件夹中   
Log.v("MyPhoneText","reallyByte.length="+reallyByte.length); 


2。取出来

现在用到了再android中很重要的一个点Bitmap。一定记得要多留意此小东西的用法。前途无量。

  还要提醒下的是,要放在try中存储和读取流
try{
                 //定义BitmapFactory工厂的decodeStream方法,这个工厂方法很多。继续学习。方法内为存储图片的那个流文件的路径

Bitmap bitmap = BitmapFactory.decodeStream(this.openFileInput("file.txt"));
           //取出的bitmap对象就直接可以用来放在ImageView中显示
imageShow.setImageBitmap(bitmap);
}catch(Exception e){
e.printStackTrace();
}

分享到:
评论

相关推荐

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

    在C#中,可以使用Bitmap的Save方法将Bitmap对象保存到Stream中。这个方法接受一个Stream对象作为参数,以及可选的ImageFormat来指定图像格式(如JPEG、PNG等)。 ```csharp Bitmap bitmap = new Bitmap("image.jpg...

    将Bitmap转换为Byte[]

    5. **复制Bitmap数据到Byte数组**:通过内存操作,将`GetBitmapBits()`返回的像素数据指针指向的数据复制到新创建的Byte数组中。需要注意,由于不同平台的内存对齐问题,可能需要进行额外的处理。 6. **释放资源**...

    将Bitmap转成byte[]小例子

    在Android开发中,Bitmap是用于表示图像数据的一种对象,它在内存中占用较大空间,因此在处理图片时,我们有时需要将其转换为byte数组(byte[]),以便于存储、传输或者在网络流中使用。这个过程涉及到图像数据的...

    android bitmap通过byte数组以流的形式创建

    在Android开发中,Bitmap是用于显示图像的基本类,它是一个位图对象,通常用来加载、显示和处理图片。然而,由于Bitmap对象占用大量的内存,直接加载大图片可能会导致内存溢出(Out Of Memory,OOM)问题。因此,...

    Android中把bitmap存成BMP格式图片的方法

    在Android开发中,有时我们需要将Bitmap对象转换成不同的图片格式,比如BMP。BMP(Bitmap File Format)是一种常见的位图文件格式,但它并不像JPEG或PNG那样被Android SDK直接支持。本文将详细介绍如何在Android中将...

    Bitmap加载、变换、显示图片

    Bitmap的使用涉及到图片的加载、变换、显示以及性能优化等多个方面。本篇将详细阐述Bitmap的基本操作和相关知识点。 1. **Bitmap加载** - **从资源加载**:可以使用`Resources`类的`getDrawable(int resid)`方法从...

    Bitmap,byte[],Drawable相互转化

    Bitmap是Android系统中用于存储和处理图像数据的重要类,它是一个位图,即像素的二维数组,常用于显示和操作图像。BitmapFactory是用于解析图片资源并生成Bitmap对象的工具类,例如`BitmapFactory.decodeResource()`...

    bitmap上传图片demo

    在这个过程中,我们将深入探讨Bitmap的使用、图片加载优化以及图片裁剪技术。 1. Bitmap基础: Bitmap对象存储图像像素信息,它包含了图像的颜色模式、宽度、高度等属性。在Android中,通常通过BitmapFactory类来...

    android中对Bitmap图片设置任意角为圆角

    本篇文章将深入探讨如何在Android中对Bitmap图片进行处理,使其能够以任意角度显示为圆角,以及涉及到的相关技术。 首先,我们要理解Android中的ImageView组件,它是用来显示图像的视图,可以显示Bitmap或者从资源...

    C# 图片处理 读取图片流

    本篇将详细探讨如何在C#中读取图片流,以便进行图像处理操作。 首先,我们需要理解“图片流”的概念。图片流是将图片数据以流式格式存储的一种方式,它可以是内存中的数据流,也可以是从硬盘、网络或任何其他输入/...

    Android中Glide获取图片Path、Bitmap用法详解

    软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。 1. 获取Bitmap: 1)在图片下载缓存好之后...

    Android下利用Bitmap切割图片

    在Android中,我们可以使用BitmapFactory类来解析图片资源,将其转化为Bitmap对象。例如: ```java Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image); ``` 接下来,我们讨论...

    Android 实现把bitmap图片的某一部分的颜色改成其他颜色

    首先,我们需要了解什么是 bitmap 图片,bitmap 图片是一种图像存储格式,它将图像分割成一个个像素,然后将每个像素的颜色值存储在内存中,以便于图像的处理和显示。 在 Android 中,我们可以使用 Bitmap 类来处理...

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

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

    android获取图片尺寸的两种方式及bitmap的缩放操作

    我就废话不多说了,大家还是直接看代码吧~ //Uri.parse(file://+result.getImage... //方法一:通过uri把图片转化为bitmap的方法 Bitmap bitmap= BitmapFactory.decodeFile(path); int height= bitmap.get

    Android Drawable、Bitmap、byte、灰度 转换

    在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...

    android图片转换成数据流的形式保存

    这段代码中,我们先将Bitmap压缩成PNG格式,然后通过`Base64.encodeToString()`方法将其转化为Base64字符串。 #### 3. 处理大图和缩略图 对于较大的图片,直接操作可能会导致内存溢出等问题。因此,在处理大图时,...

    Delphi bmp图片转RGB byte方法

    ### Delphi BMP 图片转 RGB Byte 方法解析 #### 核心知识点概述 本文将深入探讨一个在 Delphi 开发环境中使用的函数,该函数用于将 BMP 图像格式转换为 RGB Byte 数组。通过此函数,我们可以方便地处理图像数据,...

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

    本文将详细介绍如何在Android环境中,利用Zxing库实现多二维码识别,以及如何将资源库中的图片转化为Bitmap来辅助这一过程。 首先,Zxing(ZXing,读作“zebra crossing”)是一个开源的、跨平台的条码解码库,支持...

    andriod图片存储(字节存储和字符串存储)

    本文将深入探讨Android中图片的字节存储和字符串存储,并结合数据库存储来构建一个完整的示例项目。这个项目对于初学者来说是一个很好的学习起点。 首先,我们来看图片的字节流存储。在Android中,可以使用...

Global site tag (gtag.js) - Google Analytics