将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64String方法。将Base64字符串转换为图片的流程正好相反:使用Convert类的FromBase64String得到图片文件的二进制数据,然后使用BinaryFormatter反序列化方法。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

/// <summary>

    /// 将图片数据转换为Base64字符串

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    private void ToBase64(object sender, EventArgs e)

    {

      Image img = this.pictureBox.Image;

      BinaryFormatter binFormatter = new BinaryFormatter();

      MemoryStream memStream = new MemoryStream();

      binFormatter.Serialize(memStream, img);

      byte[] bytes = memStream.GetBuffer();

      string base64 = Convert.ToBase64String(bytes);

      this.richTextBox.Text = base64;

    }

    /// <summary>

    /// 将Base64字符串转换为图片

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    private void ToImage(object sender, EventArgs e)

    {

      string base64 = this.richTextBox.Text;

      byte[] bytes = Convert.FromBase64String(base64);

      MemoryStream memStream = new MemoryStream(bytes);

      BinaryFormatter binFormatter = new BinaryFormatter();

      Image img = (Image)binFormatter.Deserialize(memStream);

      this.pictureBox.Image = img;

    }

/// <summary>
        /// 显示头像
        /// </summary>
        /// <param name="imageBytes">图片二进制流</param>
        public void PictureShow(byte[] imageBytes)
        {
            if (imageBytes != null)
            {
                //读取二进制转换成图片
                MemoryStream ms = new MemoryStream(imageBytes);
                Bitmap bmpt = new Bitmap(ms);
                pictureDocImg.Image = bmpt;
                pictureDocImg.SizeMode = PictureBoxSizeMode.Zoom;

            }
            else
            {
                pictureDocImg.Image = null;
            }

}

/// <summary>
        /// 将Base64字符串转换为图片
        /// </summary>
        /// <param name="pictureBox">图片控件</param>
        /// <param name="base64String">base64位图片字符串</param>
        public static void ToImage(PictureBox pictureBox, string base64String)
        {
            string base64 = base64String;//"data:image/jpg;base64,"
            byte[] bytes = Convert.FromBase64String(base64);
            MemoryStream memStream = new MemoryStream(bytes, 0, bytes.Length);
            memStream.Position = 0;
            Bitmap bmp = new Bitmap(memStream);
            pictureBox.Image = bmp;
        }

C# 将Base64转换为图片并保存到Image数组相关推荐

  1. 将数字n转换为字符串并保存到s中

    将数字n转换为字符串并保存到s中 参考 C程序设计语言 #include <stdio.h> #include <string.h> //reverse函数: 倒置字符串s中各 ...

  2. php转为图片,php中base64转换为图片的方法

    php中base64转换为图片的方法 发布时间:2020-08-31 09:56:18 来源:亿速云 阅读:100 作者:小新 小编给大家分享一下php中base64转换为图片的方法,相信大部分人都还 ...

  3. BASE64转换为图片格式,并上传图片

    基本的把base64 转成图片 # 将BASE64转换为图片格式## 代码```javapublic static final String JPG = ".jpg";public ...

  4. Java踩坑笔记 —— base64转换为图片后图片显示不全

    Java踩坑笔记 -- base64转换为图片后图片显示不全 前言 解决思路 案例代码 结束语 前言 最近在开发项目中,发现base64转换图片时,出现了图片显示不全,例如如下这样 可以明显看到图片部 ...

  5. 将base64转换为图片

    要将Base64编码的字符串转换为图片,您可以使用编程语言中的Base64解码器和适当的图像处理库.以下是Python的示例代码: import base64 from PIL import Imag ...

  6. js File文件转换为二进制格式和base64转换为图片

    // 图片转换为base64imageToBase64(img) {return new Promise((resolve) => {let reader = new FileReader(); ...

  7. 总文件夹下含有多个sdf,批量转换为SMILES并保存到csv中

    本代码适用于这种结构的文件,主要还是SDMolSupplier的参数要转化为str类型,并且只能一个一个的转化. import sys import torch import os from rdki ...

  8. Base64转换为图片以url路径返回前端

    ** 1,在properties配置项目路径和端口 ip=127.0.0.1 port=8081 2,在resource下创建temp文件夹 3,base64和图片互转工具类**** package ...

  9. Android实现下载图片并保存到SD卡中

    1.java代码,下载图片的主程序 先实现显示图片,然后点击下载图片按钮,执行下载功能. 从网络上取得的图片,生成Bitmap时有两种方法,一种是先转换为byte[],再生成bitmap:一种是直接用 ...

最新文章

  1. dumpbin发现没有入口函数_详解VS2019 dumpbin查看DLL的导出函数
  2. Android开发--详解ContentProvider/Cursor的使用
  3. vue修改入口文件名字_webpack打包vue项目,可修改配置文件
  4. 不修条地铁,都不好意思叫自己大城市
  5. 【java进阶之路】(并发编程篇)1.Java线程
  6. 虚拟机android原生系统下载地址,Android x86开源项目最新版虚拟机镜像下载VM/Vbox...
  7. 脑电EEG代码开源分享 【1.前置准备-静息态篇】
  8. 媒体查询加上rem实现页面字体大小自适应
  9. endpt matlab,将SDPT3配置到matlab
  10. 基于Spatial-Temporal Transformer的城市交通流预测
  11. CBR,VBR,ABR,CQP四种编码方式。
  12. 如何从苹果手机中导出视频且保证画面不失真
  13. 如何将苹果手机中的M4A音乐转换为MP3格式 1
  14. 学习JME3的第一次小结
  15. Android 手机设备信息获取使用详解
  16. java赋值运算的类型转换出新的问题_Java中byte、short、char、int、long运算时自动类型转化问题...
  17. jiecaovideoplayer视频播放开源框架的使用步骤
  18. 我眼中的光明·第一周
  19. CPRI和10GBASE-KR的关系
  20. 2021-06-29 MySql(未完待续)

热门文章

  1. ipad分屏_第九期procreate教程|分屏技巧篇+超好用的iPad软件推荐
  2. android屏幕共享demo,屏幕共享
  3. 利用CMD命令有效的查病毒***方法
  4. (转)tomcat与地址栏图标之研究(多浏览器)
  5. 14过去完成时 vs 现在完成时,过去完成时 vs 一般过去时 vs 过去将来时
  6. C语言试题115之两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定 比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请
  7. 新装win10系统的桌面没有“我的电脑”图标解决办法
  8. 服务器开机显示imm,服务器出现initializing firmware interfaces这个是什么问题
  9. 计算机技术结题报告,[信息技术在数学课堂教学中的作用]信息技术促进数学课堂结题报告...
  10. 数据库第四单元mooc题