好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#实现字符串与图片的Base64编码转换操作示例

本文实例讲述了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);

       }

     }

   }

}

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

dy("nrwz");

查看更多关于C#实现字符串与图片的Base64编码转换操作示例的详细内容...

  阅读:64次