• C# base 64图片编码解码


    使用WinForm实现了图片base64编码解码的

    效果图:


    示例base 64编码字符串:

    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

    代码如下:

    /* by 何问起
     hovertree.com*/
    using System;
    using System.Drawing;
    using System.IO;
    using System.Windows.Forms;
    
    namespace HoverTree.Forms
    {
    public partial class FormBase64 : Form
    {
    public FormBase64()
    {
    InitializeComponent();
    }
    
    private void button_decode_Click(object sender, EventArgs e)
    {
    try
    {
    pictureBox_hovertree.Image = ConvertStringToBitmap(textBox_hovertree.Text);
    }
    catch (Exception ex)
    { MessageBox.Show("解码失败。" + ex.Message,"HoverTree项目"); }
    }
    
    Bitmap ConvertStringToBitmap(string base64string)
    {
    byte[] bt = Convert.FromBase64String(base64string);
    MemoryStream h_stream = new MemoryStream(bt);
    Bitmap h_bitmap = new Bitmap(h_stream);
    
    return h_bitmap;
    }
    
    string ConvertBitmapToString(Bitmap bitmap)
    {
    MemoryStream h_m = new MemoryStream();
    bitmap.Save(h_m, System.Drawing.Imaging.ImageFormat.Jpeg);
    byte[] h_b = h_m.GetBuffer();
    string base64string = Convert.ToBase64String(h_b);
    
    return base64string;
    }
    
    private void button_open_Click(object sender, EventArgs e)
    {
    if (openFileDialog_hovertree.ShowDialog() == DialogResult.OK)
    {
    try
    {
    pictureBox_hovertree.Image = Image.FromFile(openFileDialog_hovertree.FileName);
    }
    catch (Exception ex)
    {
    MessageBox.Show("请选择图片文件。" + ex.Message);
    }
    }
    }
    
    private void button_encode_Click(object sender, EventArgs e)
    {
    try
    {
    textBox_hovertree.Text = ConvertBitmapToString(new Bitmap(pictureBox_hovertree.Image));
    }
    catch (Exception ex)
    {
    MessageBox.Show("解码失败。" + ex.Message,"hovertree.com");
    }
    } 
    
    private void button_zishu_Click(object sender, EventArgs e)
    {
    int h_length = textBox_hovertree.Text.Length;
    int h_yushu = h_length % 4;
    MessageBox.Show("长度:"+h_length.ToString()+",除以4余数为"+h_yushu.ToString()+(h_yushu==0?"": ",为非法base64编码"),"何问起");
    }
    }
    }

    转自:http://hovertree.com/h/bjaf/wa5nbd3w.htm

    参考:http://hovertree.com/h/bjaf/mdklgyjr.htm

    更多:http://www.cnblogs.com/sosoft/p/csccgc.html

  • 相关阅读:
    vue cli 3.0安装、项目创建
    Vue-详解设置路由导航的两种方法
    VUE项目启动流程
    vue项目创建
    前端UI优秀框架
    Spring MVC返回JSON的几种方法
    Cookie 和 Session 的区别
    Object.defineProperty()
    vuex getter传入参数
    后台管理系统权限控制的思路
  • 原文地址:https://www.cnblogs.com/sosoft/p/base64.html
Copyright © 2020-2023  润新知