本教程说明如何在C#.NET Windows Forms Application中将图像转换为base64字符串,以及将base64字符串转换为图像。
您可以创建一个新的Windows窗体应用程序项目来演示,然后从Visual Studio工具箱中将图片框,标签和按钮拖到Winform中,然后设计一个简单的UI,该UI允许您从硬盘中选择图像,然后进行转换如下图所示,将图像转换为base64字符串或将编码后的base64字符串转换为c#中的image。
要将图像转换为base64字符串,可以创建一个ConvertImageToBase64方法,如下所示。
publicstring ConvertImageToBase64(Image file)
{
using (MemoryStream memoryStream= newMemoryStream())
{
file.Save(memoryStream, file.RawFormat);byte[] imageBytes =memoryStream.ToArray();returnConvert.ToBase64String(imageBytes);
}
}
该 ConvertImageToBase64读取图像,然后保存图像到内存流,并转换为base64字符串。
同样,要将转换为图像的base64字符串转换为图像,可以创建一个ConvertBase64ToImage方法,如下所示。
publicImage ConvertBase64ToImage(string base64String)
{byte[] imageBytes =Convert.FromBase64String(base64String);
using (MemoryStream ms= new MemoryStream(imageBytes, 0, imageBytes.Length))
{
ms.Write(imageBytes,0, imageBytes.Length);return Image.FromStream(ms, true);
}
}
我们将base64字符串转换为字节数组,然后写入内存流,最后从该流返回图像。
接下来,单击Image To Base64按钮,然后在c#中将click事件处理程序添加为以下代码。
private voidbtnImageToBase64_Click(object sender, EventArgs e)
{
using (Image image=picOriginal.Image.Clone() as Image)
{
txtBase64.Text=ConvertImageToBase64(image);
}
}
将Base64转为图像
private void btnBase64ToImage_Click(objectsender, EventArgs e)
{
picBase64ToImage.Image=ConvertBase64ToImage(txtBase64.Text);
}