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日

相关文章

  • 详解Java中的checked异常和unchecked异常区别

    详解Java中的checked异常和unchecked异常区别 Java中的异常类型可以分为两种:checked异常和unchecked异常。两种异常的区别主要在于程序编译时期是否必须进行异常处理。 checked异常: checked异常即编译器在编译Java程序时检查出的异常,通常与I/O操作和网络连接相关。程序在编译时必须要强制进行处理,这意味着这些异…

    C# 2023年5月15日
    00
  • ExceptionLess的安装、配置、使用教程

    ExceptionLess的安装、配置、使用教程 ExceptionLess是一种流行的错误日志记录和分析工具,可以帮助开发人员快速识别和解决应用程序中的错误。在本攻略中,我们将深入讲解如何安装、配置和使用ExceptionLess,并提供两个示例说明。 安装ExceptionLess 在使用ExceptionLess之前,我们需要安装ExceptionLe…

    C# 2023年5月17日
    00
  • C#使用Interlocked实现线程同步

    C#使用Interlocked实现线程同步 什么是Interlocked Interlocked是C#中用于实现线程同步的一组原子操作。原子操作是不可分割的,会形成一个不可分割的操作单元。Interlocked操作在执行过程中不需要使用锁,而是使用硬件支持的原子操作指令,对数据进行读取、计算和写入,保证操作的原子性。 Interlocked常用的方法 C#中…

    C# 2023年6月7日
    00
  • abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之上(六十三)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)…

    C# 2023年5月4日
    00
  • .NET RulesEngine(规则引擎)的使用详解

    下面为您详细讲解使用“.NET RulesEngine(规则引擎)”的完整攻略。 什么是.NET RulesEngine? .NET RulesEngine是一款支持创建和执行规则的开源规则引擎库,可以通过定义特定的规则来对不同类型的数据进行验证或操作。它提供了一种将业务逻辑与代码分离的便捷方式。 安装和配置 首先,在Visual Studio中安装.NET…

    C# 2023年6月6日
    00
  • c# Linq查询详解

    C# LINQ查询详解 什么是LINQ LINQ即Language Integrated Query,是一种能够方便地操作数据的技术,它提供了一种类似SQL查询语句的方式来查询集合、数据库等多种类型的数据源。LINQ能够进行多项查询、排序、过滤、分组处理等多种操作,简化了数据操作的流程,使得C#程序员能够更加高效地进行编码。 LINQ的基本结构 LINQ查询…

    C# 2023年6月1日
    00
  • DropDownList设置客户端事件思路

    下面是关于 DropDownList 设置客户端事件的完整攻略: 思路简介 DropDownList 是 ASP.NET WebForm 中常用的组件之一,在前端页面上展示一个下拉列表框,并且支持使用 C#、VB 等服务器端语言动态生成下拉列表内容。如果需要在前端页面使用 JS 代码对 DropDownList 进行操作,就需要用到客户端事件,这里主要指的是…

    C# 2023年5月31日
    00
  • C#实现自定义Dictionary类实例

    这里是C#实现自定义Dictionary类实例的完整攻略: 1. 创建自定义Dictionary类 首先,我们需要创建一个自定义的Dictionary类,我们可以参考.NET Framework中原有的Dictionary类的实现方式,但是需要添加一些自定义的功能。下面是一个基本的实现方式: public class MyDictionary<TKey…

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