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

下面是详细的C#实现把图片转换成二进制以及把二进制转换成图片的方法示例攻略:

把图片转换成二进制

方法一:使用FileStream

  1. 首先需要用 FileStream 类打开图片,读取图片的二进制数据:
string imagePath = "image.jpg";
byte[] imageData;

using (var stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read))
{
    imageData = new byte[stream.Length];
    stream.Read(imageData, 0, imageData.Length);
}
  1. 接下来,我们可以使用 Convert 类将二进制数据编码为 Base64 字符串:
string base64Image = Convert.ToBase64String(imageData);

方法二:使用 Image 类

  1. 首先使用 Image 类的 FromFile 方法打开图片:
string imagePath = "image.jpg";
Image image = Image.FromFile(imagePath);
  1. 然后,通过 MemoryStream 将图片转换成二进制数据:
using (MemoryStream stream = new MemoryStream())
{
    image.Save(stream, ImageFormat.Jpeg); // 设置图片格式
    byte[] imageData = stream.ToArray();
}

把二进制转换成图片

方法一:使用 FileStream

  1. 首先从字符串中解码二进制数据:
string base64Image = "xxx"; // Base64 字符串
byte[] imageData = Convert.FromBase64String(base64Image);
  1. 然后,使用 FileStream 保存二进制数据为图片:
string imagePath = "image.jpg";
using (var stream = new FileStream(imagePath, FileMode.Create, FileAccess.Write))
{
    stream.Write(imageData, 0, imageData.Length);
}

方法二:使用 Image 类

  1. 首先从字符串中解码二进制数据:
string base64Image = "xxx"; // Base64 字符串
byte[] imageData = Convert.FromBase64String(base64Image);
  1. 然后,使用 MemoryStream 将二进制数据转换成 Image 对象:
using (MemoryStream stream = new MemoryStream(imageData))
{
    Image image = Image.FromStream(stream);
}

以上是将图片转换成二进制以及将二进制转换成图片的两种方法示例。你可以根据项目需求选择适合的方法来实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现把图片转换成二进制以及把二进制转换成图片的方法示例 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • Unity 实现鼠标滑过UI时触发动画的操作

    Unity 实现鼠标滑过UI时触发动画的操作可以按照以下步骤: 第一步 创建UI对象和动画 首先需要创建一个UI对象,比如一个按钮,并且在它上面创建需要触发的动画。可以通过Animator组件来创建动画效果,或者直接在RectTransform组件上的Position/Scale等属性上进行动画操作。 第二步 创建鼠标滑过事件 接下来需要给这个UI对象创建一…

    C# 2023年6月3日
    00
  • linq中的串联操作符

    当我们需要将多个序列串联在一起时,可以使用 LINQ 串联操作符。串联操作符包括 Concat 和 Union 。 Concat 操作符 Concat 操作符用于将两个序列按照顺序连接在一起,生成一个新序列。新序列包含原始序列中所有元素,包括重复元素。 Concat 操作符的语法如下: var result = sequence1.Concat(sequen…

    C# 2023年6月8日
    00
  • c#定时器和global实现自动job示例

    下面我将为你详细讲解“c#定时器和global实现自动job示例”的完整攻略。 什么是自动job? 自动 job 是指某项工作可以自动地按照预设的时间、条件或者事件触发来执行,比如自动备份数据、自动发送邮件、自动打开文件等等。 c#定时器实现自动job 在 C# 中,我们可以使用内置的定时器 Timer 类来实现自动job。具体实现步骤如下: 引入命名空间 …

    C# 2023年6月1日
    00
  • C#事件标准命名规则及说明(包括用作事件类型的委托命名)

    下面是关于“C#事件标准命名规则及说明(包括用作事件类型的委托命名)”的完整攻略。 1. 事件标准命名规则 1.1 委托命名 在C#中,常用委托命名作为事件的类型,因此委托的命名很关键。根据Microsoft官方文档的建议,委托命名应该基于事件的名称以及命名以EventHandler结尾。例如,声明一个叫做“ButtonClick”的事件,应该使用以下的委托…

    C# 2023年5月15日
    00
  • .NET Core源码解析配置文件及依赖注入

    .NET Core源码解析配置文件及依赖注入 在本攻略中,我们将详细讲解.NET Core源码解析配置文件及依赖注入的技术及工作原理,并提供两个示例说明。 配置文件 .NET Core中的配置文件是一种用于存储应用程序配置信息的文件。配置文件可以包含应用程序的各种配置信息,如数据库连接字符串、日志级别、缓存设置等。在.NET Core中,配置文件通常使用JS…

    C# 2023年5月16日
    00
  • C# 注册表 操作实现代码

    C# 中操作注册表的方法非常简单,以下是一些基本的操作实现代码: 读取注册表 using Microsoft.Win32; // 打开要读取的注册表键 RegistryKey regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\…

    C# 2023年6月6日
    00
  • Javascript实现的StopWatch功能示例

    下面我将详细讲解如何实现“Javascript实现的StopWatch功能示例”。 确定需求 首先,我们需要确定需求。 这个StopWatch功能的核心就是计时器功能,需要实现计时功能和计时器控制功能,可以是通过控制开始/暂停/停止操作实现。 HTML结构 接下来,我们需要确定HTML结构。 StopWatch功能界面的HTML结构比较简单,只需要一个显示时…

    C# 2023年6月8日
    00
  • C#用dynamic一行代码实现反射操作

    dynamic简介 dynamic是.NET Framework4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译时默认dynamic对象支持你想要的任何特性。 dynamic简化反射实现 使用dynamic来简化反射实现是一种比较常见的编程技巧,它可以减少代码的复杂性并提高可读性。下面是一个使用dy…

    C# 2023年4月25日
    00
合作推广
合作推广
分享本页
返回顶部