Image与Base64字符串相互转换
2015-08-26 00:26
387 查看
public class Form1 : System.Windows.Forms.Form
{
private string GetBase64String(System.Drawing.Image image)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] buffer = ms.ToArray();
return Convert.ToBase64String(buffer);
}
private string FixBase64ForImage(string ImageText)
{
System.Text.StringBuilder sbText = new System.Text.StringBuilder(ImageText, ImageText.Length);
sbText.Replace("/r/n", String.Empty);
sbText.Replace(" ", String.Empty);
return sbText.ToString();
}
private Image GetImageFromBase64String(string ImageText)
{
if (ImageText.Length > 0)
{
Byte[] bitmapData = new Byte[ImageText.Length];
//bitmapData = Convert.FromBase64String(FixBase64ForImage(ImageText));
bitmapData = Convert.FromBase64String(ImageText);
System.IO.MemoryStream streamBitmap = new System.IO.MemoryStream(bitmapData);
// Bitmap bitImage = new Bitmap((Bitmap)Image.FromStream(streamBitmap));
return Image.FromStream(streamBitmap);
}
else
{
return null;
}
}
//===============
void Button3Click(object sender, System.EventArgs e)
{
string str = GetBase64String(pictureBox1.Image);
richTextBox1.Text = str;
pictureBox1.Image = null;
}
void Button4Click(object sender, System.EventArgs e)
{
pictureBox1.Image = GetImageFromBase64String(richTextBox1.Text);
}
}
{
private string GetBase64String(System.Drawing.Image image)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] buffer = ms.ToArray();
return Convert.ToBase64String(buffer);
}
private string FixBase64ForImage(string ImageText)
{
System.Text.StringBuilder sbText = new System.Text.StringBuilder(ImageText, ImageText.Length);
sbText.Replace("/r/n", String.Empty);
sbText.Replace(" ", String.Empty);
return sbText.ToString();
}
private Image GetImageFromBase64String(string ImageText)
{
if (ImageText.Length > 0)
{
Byte[] bitmapData = new Byte[ImageText.Length];
//bitmapData = Convert.FromBase64String(FixBase64ForImage(ImageText));
bitmapData = Convert.FromBase64String(ImageText);
System.IO.MemoryStream streamBitmap = new System.IO.MemoryStream(bitmapData);
// Bitmap bitImage = new Bitmap((Bitmap)Image.FromStream(streamBitmap));
return Image.FromStream(streamBitmap);
}
else
{
return null;
}
}
//===============
void Button3Click(object sender, System.EventArgs e)
{
string str = GetBase64String(pictureBox1.Image);
richTextBox1.Text = str;
pictureBox1.Image = null;
}
void Button4Click(object sender, System.EventArgs e)
{
pictureBox1.Image = GetImageFromBase64String(richTextBox1.Text);
}
}
相关文章推荐
- java入门
- bzoj 2744: [HEOI2012]朋友圈 二分图匹配
- 数据字典根据组别再分类
- MDT 2013 Update 1 正式版推出
- UVA 753 A Plug for UNIX (最大流)
- usaco Friday the Thirteenth
- (function($){...})(jQuery)是什么意思
- Matlab实现FR共轭梯度法
- Dell笔记本win7系统重装win8.1
- 089 Grey Code [Leetcode]
- 异常
- 字符串之“统计一个字符串中单词的个数”
- CodeForces 571B Minimization(dp)
- java入门
- 线程
- leetcode 201: Bitwise AND of Numbers Range
- Floyd算法的C&python实现及对比
- HDU 4112 Break the Chocolate(简单的数学推导)
- 转:三个教程
- Java集合之Set