博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Base64编码的字符串与图片的转换 C#
阅读量:6611 次
发布时间:2019-06-24

本文共 2421 字,大约阅读时间需要 8 分钟。

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using System.IO;  
  9. using System.Drawing.Imaging;  
  10.   
  11. namespace base64_img  
  12. {  
  13.     public partial class Form1 : Form  
  14.     {  
  15.         public Form1()  
  16.         {  
  17.             InitializeComponent();  
  18.         }  
  19.   
  20.         //图片 转为    base64编码的文本  
  21.         private void button1_Click(object sender, EventArgs e)  
  22.         {  
  23.             OpenFileDialog dlg = new OpenFileDialog();  
  24.             dlg.Title = "选择要转换的图片";  
  25.             dlg.Filter = "Image files (*.jpg;*.bmp;*.gif)|*.jpg*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";  
  26.             if (DialogResult.OK == dlg.ShowDialog())  
  27.             {  
  28.                 ImgToBase64String(dlg.FileName);  
  29.             }  
  30.         }  
  31.         //图片 转为    base64编码的文本  
  32.         private void ImgToBase64String(string Imagefilename)  
  33.         {  
  34.             try  
  35.             {  
  36.                 Bitmap bmp = new Bitmap(Imagefilename);  
  37.                 this.pictureBox1.Image = bmp;  
  38.                 FileStream fs = new FileStream(Imagefilename + ".txt", FileMode.Create);  
  39.                 StreamWriter sw = new StreamWriter(fs);  
  40.   
  41.                 MemoryStream ms = new MemoryStream();  
  42.                 bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);  
  43.                 byte[] arr = new byte[ms.Length];  
  44.                 ms.Position = 0;  
  45.                 ms.Read(arr, 0, (int)ms.Length);  
  46.                 ms.Close();  
  47.                 String strbaser64 = Convert.ToBase64String(arr);  
  48.                 sw.Write(strbaser64);  
  49.   
  50.                 sw.Close();  
  51.                 fs.Close();  
  52.                 MessageBox.Show("转换成功!");  
  53.             }  
  54.             catch (Exception ex)  
  55.             {  
  56.                 MessageBox.Show("ImgToBase64String 转换失败/nException:" + ex.Message);  
  57.             }  
  58.         }  
  59.   
  60.         //base64编码的文本 转为    图片  
  61.         private void button2_Click(object sender, EventArgs e)  
  62.         {  
  63.             OpenFileDialog dlg = new OpenFileDialog();  
  64.             dlg.Title = "选择要转换的base64编码的文本";  
  65.             dlg.Filter = "txt files|*.txt";  
  66.             if (DialogResult.OK == dlg.ShowDialog())  
  67.             {  
  68.                 Base64StringToImage(dlg.FileName);  
  69.             }  
  70.         }  
  71.         //base64编码的文本 转为    图片  
  72.         private void Base64StringToImage(string txtFileName)  
  73.         {  
  74.             try  
  75.             {  
  76.                 FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);  
  77.                 StreamReader sr = new StreamReader(ifs);  
  78.   
  79.                 String inputStr = sr.ReadToEnd();  
  80.                 byte[] arr = Convert.FromBase64String(inputStr);  
  81.                 MemoryStream ms = new MemoryStream(arr);  
  82.                 Bitmap bmp = new Bitmap(ms);  
  83.   
  84.                 bmp.Save(txtFileName + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);  
  85.                 //bmp.Save(txtFileName + ".bmp", ImageFormat.Bmp);  
  86.                 //bmp.Save(txtFileName + ".gif", ImageFormat.Gif);  
  87.                 //bmp.Save(txtFileName + ".png", ImageFormat.Png);  
  88.                 ms.Close();  
  89.                 sr.Close();  
  90.                 ifs.Close();  
  91.                 this.pictureBox1.Image = bmp;  
  92.                 MessageBox.Show("转换成功!");  
  93.             }  
  94.             catch (Exception ex)  
  95.             {  
  96.                 MessageBox.Show("Base64StringToImage 转换失败/nException:"+ex.Message);  
  97.             }  
  98.         }  
  99.     }  
  100. }  
  101. <pre></pre>  

转载于:https://www.cnblogs.com/cuiguanghe/archive/2013/04/30/3051933.html

你可能感兴趣的文章
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
repquota命令--Linux命令应用大词典729个命令解读
查看>>
rabbitmq 管理及常用命令
查看>>
6.6 tar打包
查看>>
Spring MVC核心技术
查看>>
TCP协议如何保证传输的可靠性
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0 登出流程(3)
查看>>
软件开发各阶段交付物列表
查看>>
ntp服务器的搭建
查看>>
Tair学习小记
查看>>
网卡绑定(服务器&&交换机),缓存服务器Squid架构配置
查看>>
web网站加速之CDN(Content Delivery Network)技术原理
查看>>
sed的基本用法
查看>>
ansible模块批量管理
查看>>
RHEL/Centos7新功能
查看>>
DBA日常工作职责
查看>>
Planner .NET日历日程控件能给你的应用程序提供多种日历日程功能
查看>>
我的友情链接
查看>>
Linux压力测试
查看>>