• 字符串与图片的Base64编码转换操作


        //图片 转为  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);
          }
  • 相关阅读:
    有关Fragment的知识点
    DashPathEffect
    Android 自定义View
    Android Parcelable
    Android之Activity状态的保存和恢复
    Android WebView介绍
    了解Android的编译器
    WebView
    使用RichEdit程序无法启动
    WTL布局对话框 CDialogResize
  • 原文地址:https://www.cnblogs.com/leebokeyuan/p/10496276.html
Copyright © 2020-2023  润新知