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日

相关文章

  • c# delegate和event的使用说明

    下面是关于”C# delegate和event的使用说明”的完整攻略。 什么是C# delegate? C# delegate是一种类型,该类型可以保存对一个或多个方法的引用并允许在需要时调用这些方法。可以将Delegate看作是函数指针的高级版本。Delegate对象保存的不是方法,而是指向方法的引用。这使得我们可以通过传递委托对象作为参数,从一个方法调用…

    C# 2023年6月7日
    00
  • C# WinForm窗口最小化到系统托盘

    让我为您详细讲解一下“C# WinForm窗口最小化到系统托盘”的完整攻略。 基本思路 将窗口最小化到系统托盘需要用到以下两个类: NotifyIcon: 系统托盘图标类,用于在系统托盘中显示图标。 ContextMenuStrip: 右键菜单类,用于为系统托盘图标添加右键菜单。 基本的思路是,在窗口最小化时,将窗口隐藏并在系统托盘中显示一个图标,当用户单击…

    C# 2023年6月6日
    00
  • ASP.NET MVC API 接口验证的示例代码

    下面是关于“ASP.NET MVC API 接口验证的示例代码”的完整攻略: 一、背景介绍 ASP.NET MVC是一种基于MVC(Model-View-Controller,模型-视图-控制器)的开发模式来创造Web应用程序的思想。ASP.NET Core是一个跨平台的、高性能的框架,可以用于构建Web应用程序、RESTful API、微服务,等等。 二、…

    C# 2023年5月31日
    00
  • ASP.NetCore使用Swagger实战

    Swagger是一种API文档生成工具,可以帮助我们快速生成API文档,并提供交互式API测试界面。在本文中,我们将详细讲解如何在ASP.NetCore项目中使用Swagger,包括环境搭建、代码实现、示例说明等。 环境搭建 在开始使用Swagger之前,我们需要先搭建好ASP.NetCore的开发环境。具体来说,我们需要安装以下软件: Visual Stu…

    C# 2023年5月16日
    00
  • C#实现单例模式的多种方式

    C#实现单例模式的多种方式 单例模式是设计模式中的一种,指的是创建一个类的实例后,该类只允许创建一个实例,并且提供一个访问该实例的全局访问点。在很多场景下,单例模式被广泛使用,比如线程池、缓存、配置文件等等。 在C#中实现单例模式的方式比较多,下面就介绍一些常见的实现方式,分别是:懒汉式、饿汉式、静态构造器、枚举实现、双重锁定以及 .NET 4.0+ 中新增…

    C# 2023年6月6日
    00
  • c# linq的差集,并集,交集,去重代码(分享)

    我来详细讲解一下“C# LINQ的差集、并集、交集和去重代码”的完整攻略。 前言 LINQ是Language Integrated Query的缩写,即语言集成查询。它是.NET框架中提供的一种强大的基于语言的查询技术,可以用于SQL Server、Oracle、MySQL等多种数据库。LINQ查询结果可以是一个集合、一个标量值、一个对象或一个匿名类型等,还…

    C# 2023年5月31日
    00
  • .net2.0+ Winform项目实现弹出容器层

    下面是“.net2.0+Winform项目实现弹出容器层”的攻略: 准备工作 首先,我们需要创建一个WinForms应用程序,然后添加一个Windows 窗体(Form)并设置一个按钮(Button)用于弹出容器控件。同时,我们需要通过NuGet包管理器安装一个叫做“MetroModernUI”的UI框架,这个框架提供了一些漂亮的样式和控件,可以让我们的UI…

    C# 2023年5月15日
    00
  • C#微信开发之接收 / 返回文本消息

    C#微信开发之接收/返回文本消息的完整攻略如下: 一、前置知识 C#编程基础知识 微信公众号开发基础知识 微信公众号注册和认证 二、准备工作 注册微信公众号,获取AppID和AppSecret。 部署Web服务器。 在微信公众号后台中配置服务器地址和Token。 三、搭建基础框架 新建C#项目,并添加NuGet包WeChatSDK。 编写入口函数,创建WeC…

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