• C#中图片与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 转换失败\nException:" + 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 转换失败\nException:" + ex.Message);
                }
            }
  • 相关阅读:
    [转]如何选购塑料水杯(塑料口杯、茶杯)
    【转】在sqlserver下增加MYSQL的链接服务器,实现分布式数据库开发第一步
    MySql: 查看当前登录用户,当前数据库
    python import, from xx import yy
    python class metaclass instance
    git: fatal: Not a git repository (or any of the parent directories): .git
    Python flask 基于 Flask 提供 RESTful Web 服务
    Python flask @app.route
    MySql: log 位置
    MySql: 忘记root密码
  • 原文地址:https://www.cnblogs.com/feiyun126/p/2892052.html
Copyright © 2020-2023  润新知