柔城

SOSOFT articles

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

posted on 2016-04-29 12:15  柔城  阅读(1272)  评论(1编辑  收藏  举报

导航