本文实例讲述了C#实现字符串与图片的Base64编码转换操作。分享给大家供大家参考,具体如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Drawing.Imaging;

namespace base64_img

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

//图片 转为 base64编码的文本

private void button1_Click(object sender, EventArgs e)

{

OpenFileDialog dlg = new OpenFileDialog();

dlg.Title = "选择要转换的图片";

dlg.Filter = "Image files (*.jpg;*.bmp;*.gif)|*.jpg*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";

if (DialogResult.OK == dlg.ShowDialog())

{

ImgToBase64String(dlg.FileName);

}

}

//图片 转为 base64编码的文本

private void ImgToBase64String(string Imagefilename)

{

try

{

Bitmap bmp = new Bitmap(Imagefilename);

this.pictureBox1.Image = bmp;

FileStream fs = new FileStream(Imagefilename + ".txt", FileMode.Create);

StreamWriter sw = new StreamWriter(fs);

MemoryStream ms = new MemoryStream();

bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

byte[] arr = new byte[ms.Length];

ms.Position = 0;

ms.Read(arr, 0, (int)ms.Length);

ms.Close();

String strbaser64 = Convert.ToBase64String(arr);

sw.Write(strbaser64);

sw.Close();

fs.Close();

MessageBox.Show("转换成功!");

}

catch (Exception ex)

{

MessageBox.Show("ImgToBase64String 转换失败/nException:" + ex.Message);

}

}

//base64编码的文本 转为 图片

private void button2_Click(object sender, EventArgs e)

{

OpenFileDialog dlg = new OpenFileDialog();

dlg.Title = "选择要转换的base64编码的文本";

dlg.Filter = "txt files|*.txt";

if (DialogResult.OK == dlg.ShowDialog())

{

Base64StringToImage(dlg.FileName);

}

}

//base64编码的文本 转为 图片

private void Base64StringToImage(string txtFileName)

{

try

{

FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(ifs);

String inputStr = sr.ReadToEnd();

byte[] arr = Convert.FromBase64String(inputStr);

MemoryStream ms = new MemoryStream(arr);

Bitmap bmp = new Bitmap(ms);

bmp.Save(txtFileName + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

//bmp.Save(txtFileName + ".bmp", ImageFormat.Bmp);

//bmp.Save(txtFileName + ".gif", ImageFormat.Gif);

//bmp.Save(txtFileName + ".png", ImageFormat.Png);

ms.Close();

sr.Close();

ifs.Close();

this.pictureBox1.Image = bmp;

MessageBox.Show("转换成功!");

}

catch (Exception ex)

{

MessageBox.Show("Base64StringToImage 转换失败/nException:"+ex.Message);

}

}

}

}

PS:这里再为大家提供几款比较实用的base64在线编码解码工具供大家使用:

希望本文所述对大家C#程序设计有所帮助。

c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例相关推荐

  1. c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例|chu

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usin ...

  2. c#图片base64去转义字符_C# imgage图片转base64字符/base64字符串转图片另存成

    //图片转为base64编码的字符串 protected string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = new ...

  3. c#图片base64去转义字符_c#中图片与base64互相转换

    本教程说明如何在C#.NET Windows Forms Application中将图像转换为base64字符串,以及将base64字符串转换为图像. 您可以创建一个新的Windows窗体应用程序项目 ...

  4. c#图片base64去转义字符_C# 将图片转成Base64字符串,再将字符串转成图片,然后将图片存储到服务器文件夹中,求代码。感激不尽...

    展开全部 网上多的是:using System; using System.Collections.Generic; using System.ComponentModel; using System ...

  5. 直接用img 的src属性显示base64转码后的字符串成图片【原】

    直接用<img> 的src属性显示base64转码后的字符串成图片 <img src="data:image/gif;base64,base64转码后的字符串" ...

  6. img标签的src属性直接显示base64转码后的字符串变为图片

    在<img>标签 src 增加:data:image/jpeg;base64 格式:<img src="data:image/jpeg;base64,base64转码后的字 ...

  7. 【数据集处理】Python 将图片名字中含有某一字符串的图片存到指定文件夹下

    目的: 某一个文件下存放的是各种各样所有的图片,希望把这些图片进行分类.比如:将图片名字中含有绝缘子自爆的图片放在绝缘子自爆的文件夹下.将图片名字中含有树枝的图片放在树枝的文件夹下. 一.将含有某一个 ...

  8. 图片怎么去底色变透明?在线图片去底色的方法

    ​大多数人都喜欢用拍照记录日常生活,那就少不了要修改图片,比如图片去底色(https://www.yasuotu.com/buttonColor)就是经常用到的功能之一,那么如何快速将图片底色变透明呢 ...

  9. 图片还原去遮挡_[转摘]图像复原(图片去噪与去模糊)-低级图像处理/视觉任务

    图 三 使用黄色网络估计transmission,利用蓝色网络估计atmospheric light,然后利用公司,计算得到去雾图像. 论文中总损失有4个子损失,训练非常tricky... 4.Dee ...

最新文章

  1. linux===Ubuntu 上安装 Node.js
  2. Python编程神器Jupyter Notebook使用的28个秘诀(附代码)
  3. java excel导入前台_java上传excel表格并读取数据返回到前台
  4. vue+lowdb+express
  5. Android m 自定义下拉菜单,Android实现动画效果的自定义下拉菜单功能
  6. Android系统自带样式(@android:style/)
  7. Oracle多租户体系,Oracle12C 多租户管理
  8. Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
  9. 配置hosts快速访问GitHub
  10. 让老IE支持CSS3响应式布局
  11. 二进制漏洞利用原理--栈溢出
  12. java面相对象的关键字_Java面向对象关键字有哪些?
  13. 戴AirPods pro走路会传来咚咚的脚步声,有什么办法能消除这个声音?
  14. paip.QQ音乐导出歌单总结
  15. db4o_8.0对象数据库官方文档翻译_学习笔记一
  16. 关于各式竞赛书籍的点评
  17. python爬虫百度地图_Python抓取百度地图的数据
  18. 计算机休眠设置xp系统,【xp怎么让电脑不休眠】xp怎么设置电脑不休眠_xp电脑休眠设置...
  19. JavaScript 每日一题---LeetCode 122. 买卖股票的最佳时机 II
  20. idea git暂存操作

热门文章

  1. U-Boot 之四 构建过程(Kconfig 配置 + Kbuild 编译)详解
  2. CAN 总线 之四 BOSCH CAN2.0 Part A
  3. python随机取列表元素_python random从集合中随机选择元素
  4. Bootloader详解
  5. 软件工程 / 为什么基于接口而非实现编程?
  6. San介绍以及在百度APP的实践
  7. oracle 12c dg新特性,oracle 12c:新特性-网格(Grid)基础架构的增强
  8. maccms V10后门
  9. 【小o地图Excel插件版】不止能做图表,还能抓58、大众点评网页数据...
  10. 读书笔记---图解HTTP(一)