zoukankan      html  css  js  c++  java
  • .net C# 图片转Base64 Base64转图片

    //图片 转为    base64编码的文本
            private void button1_Click(object sender, EventArgs e)
            {
                OpenFileDialog dlg = new OpenFileDialog();
                dlg.Multiselect = true;
                dlg.Title = "选择要转换的图片";
                dlg.Filter = "Image files (*.jpg;*.bmp;*.gif;*.png)|*.jpg*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";
                if (DialogResult.OK == dlg.ShowDialog())
                {
                    for (int i = 0; i < dlg.FileNames.Length; i++)
                    {
                        ImgToBase64String(dlg.FileNames[i].ToString());
                    }
                }
            }
            //图片 转为    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 转换失败
    Exception:" + ex.Message);
                }
            }
    
            //base64编码的文本 转为    图片
            private void button2_Click(object sender, EventArgs e)
            {
                OpenFileDialog dlg = new OpenFileDialog();
                dlg.Multiselect = true;
                dlg.Title = "选择要转换的base64编码的文本";
                dlg.Filter = "txt files|*.txt";
                if (DialogResult.OK == dlg.ShowDialog())
                {
                    for (int i = 0; i < dlg.FileNames.Length; i++)
                    {
                        Base64StringToImage(dlg.FileNames[i].ToString());
                    }
                    
                }
            }
            //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.pictureBox2.Image = bmp;
                    if (File.Exists(txtFileName))
                    {
                        File.Delete(txtFileName);
                    }
                    //MessageBox.Show("转换成功!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Base64StringToImage 转换失败
    Exception:" + ex.Message);
                }
            }
  • 相关阅读:
    zookeeper使用场景
    zookeeper安装配置
    hadoop 远程调试
    deep learning笔记
    Sentiment Analysis(1)-Dependency Tree-based Sentiment Classification using CRFs with Hidden Variables
    PRML阅读笔记 introduction
    Python 学习笔记(2)
    python nltk 学习笔记(5) Learning to Classify Text
    python nltk 学习笔记(4) Writing Structured Programs
    python nltk 学习笔记(3) processing raw text
  • 原文地址:https://www.cnblogs.com/webenh/p/5743098.html
Copyright © 2011-2022 走看看