`

C# Stream 和 byte[] 之间的转换

    博客分类:
  • C#
 
阅读更多

一. 二进制转换成图片
MemoryStream ms = new MemoryStream(bytes);
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
this.pictureBox1.Image

二. C#中byte[]与string的转换代码

1、System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();
  byte[] inputBytes =converter.GetBytes(inputString);
  string inputString = converter.GetString(inputBytes);

2、string inputString = System.Convert.ToBase64String(inputBytes);
  byte[] inputBytes = System.Convert.FromBase64String(inputString);
FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

三. C# Stream 和 byte[] 之间的转换

/// 将 Stream 转成 byte[]

public byte[] StreamToBytes(Stream stream)
{
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);
    return bytes;
}

/// 将 byte[] 转成 Stream

public Stream BytesToStream(byte[] bytes)
{
    Stream stream = new MemoryStream(bytes);
    return stream;
}

四. Stream 和 文件之间的转换

将 Stream 写入文件

public void StreamToFile(Stream stream,string fileName)
{
    // 把 Stream 转换成 byte[]
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);
    // 把 byte[] 写入文件
    FileStream fs = new FileStream(fileName, FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(bytes);
    bw.Close();
    fs.Close();
}

五. 从文件读取 Stream

public Stream FileToStream(string fileName)
{            
    // 打开文件
    FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
    // 读取文件的 byte[]
    byte[] bytes = new byte[fileStream.Length];
    fileStream.Read(bytes, 0, bytes.Length);
    fileStream.Close();
    // 把 byte[] 转换成 Stream
    Stream stream = new MemoryStream(bytes);
    return stream;
}

六、Bitmap 转化为 Byte[]

public Byte[] BitmapToByte()
{
Bitmap BitReturn = new Bitmap();
byte[] bReturn = null;
MemoryStream ms = new MemoryStream();
BitReturn.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
bReturn = ms.GetBuffer();
}

0
2
分享到:
评论

相关推荐

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

    以上就是C#中Bitmap、Stream和byte[]类型转换的详细过程。在实际应用中,你可能需要根据具体需求调整代码,比如处理不同格式的图像或优化性能。在处理大图片时,要特别注意内存使用,因为这些转换可能会占用大量内存...

    C#实现Stream与byte[]之间的转换实例教程

    本文以实例形式详细介绍了C#实现Stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下: 一、二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = ...

    c#实现object与byte[]互转

    在C#中,实现object与byte[]互转是一种常见的需求,特别是在网络通信和数据存储中。这篇文章将详细介绍如何将object转换为byte[],并介绍相关的知识点。 序列化 序列化是将对象转换为二进制数组的过程。C#提供了...

    C# 图片转成byte存入,数据库读取byte转成图片的类

    以上就是C#中处理图片与byte数组之间转换、存储和显示的完整流程。在实际项目中,你可能需要考虑异常处理、数据库连接管理、性能优化等问题。例如,对于大量图片存储,可能需要分批处理,或者考虑使用更高效的数据...

    [C#]image与byte数组的转换

    在C#编程中,图像(Image)与字节(Byte)数组之间的转换是常见的操作之一,尤其是在处理图像数据、网络传输或存储时尤为常见。本文将详细介绍如何在C#中实现图像与字节数组之间的相互转换,并提供具体的代码示例。 ...

    C#将图片和字节流互相转换并显示到页面上

    C#将图片和字节流相互转换代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base { classImageToByte {...

    DataSet 与Byte[]之间的相互转换

    本篇将详细讲解如何在`DataSet`与`Byte[]`之间进行转换,并涉及数据压缩的相关知识。 1. `DataSet`转`Byte[]`: 当我们需要将`DataSet`的内容保存到磁盘或者通过网络发送时,可以将其转换为`Byte[]`。这通常通过...

    C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换

    本文将详细探讨如何在字符串(string)、内存流(MemoryStream)和比特数组(byte[])之间进行转换,这对于数据存储、网络传输或者序列化/反序列化等场景非常有用。 1. **字符串转比特数组**: - `System.Text.Encoding....

    C# byte数组与Image相互转换的方法

    在C#编程中,处理图像数据时经常需要将图片转换为byte数组,以便于存储到数据库或在网络上传输。反之,从数据库中读取到byte数组后,也需要将其转换回Image对象进行显示或进一步处理。这里我们将详细探讨如何实现C#...

    C#, byte operation

    2. `BitConverter`类:C# 提供了`System.BitConverter`类,用于在字节序列和基本类型之间进行转换。例如,我们可以用它将`int`转换为字节数组,反之亦然,这对于处理二进制数据非常有用。 3. `Stream`类:在处理...

    C# FileStream 分段读取文本内容

    在C#编程中,`FileStream`是`System.IO`命名空间中的一个类,它用于读取和写入文件。这个类提供了对文件的低级访问,允许开发者按字节流处理文件。`FileStream`是`Stream`类的一个具体实现,`Stream`类是所有输入/...

    C#中二进制数组转换,二进制序列化和json序列化方法

    本篇将深入探讨如何在C#中进行二进制数组与常规数组之间的转换,以及二进制序列化和JSON序列化的应用及其反序列化过程。 首先,让我们来看看二进制数组与常规数组之间的转换。在C#中,二进制数组通常用byte[]表示,...

    C#,BLOB读取操作

    6. 图片转换:使用 Image.FromStream 方法可以将图片数据转换为 Image 对象。 在实际应用中,BLOB 读取操作可以用于各种场景,例如: * 图片上传和下载:在 Web 应用程序中,用户可以上传图片,服务器端可以将图片...

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    在C#中,可以使用MemoryStream和Image.FromStream将二进制数组转换成图片。具体实现代码如下: ```csharp public void ShowImgByByte(byte[] imgBytesIn) { MemoryStream ms = new MemoryStream(imgBytesIn); ...

    一个基于C# 实现的Image与Byte Array进行相互转换的Class类库源码及例子程序

    本篇将详细介绍如何使用C#实现Image与Byte Array之间的转换,并基于提供的类库源码进行解析。 首先,`ImageConverter.cs` 文件很可能包含了实现这两个转换的核心代码。在这个类库中,通常会有一个名为 `...

    C#中图片.BYTE[]和base64string的转换方法

    在C#编程中,处理图像数据时经常需要在不同的数据格式之间进行转换,例如将图片文件转换为字节数组(BYTE[])或Base64编码的字符串(base64string)。这种转换对于在网络上传输图像数据,或者在数据库中存储和检索图像...

    详谈C# 图片与byte[]之间以及byte[]与string之间的转换

    在C#编程中,数据类型之间的转换是常见的操作,特别是在处理图像、二进制数据和字符串时。本文将深入探讨如何在C#中实现图片(Image类型)与字节数组(byte[]类型)以及字节数组与字符串(string类型)之间的转换。 ...

Global site tag (gtag.js) - Google Analytics