下面是详细讲解“C#实现的图片、string相互转换类分享”的完整攻略:
简述
在C#编程中,我们常常需要将图片转换为字符串或将字符串转换为图片。要实现这一功能,需要一个类来帮助我们完成这一操作。在本文中,我们将分享一个通用的图片与字符串相互转换的类,以供大家参考使用。
实现过程
1. 将图片转换为字符串
步骤
- 加载图片,使用Bitmap类;
- 将图片转换为字节数组,使用MemoryStream类的ToArray()方法;
- 将字节数组转换为Base64字符串,使用Convert类的ToBase64String()方法。
示例
//加载图片
Bitmap image = new Bitmap(@"C:\Images\TestImage.jpg");
//将图片转换为字节数组
byte[] byteArr = null;
using (MemoryStream stream = new MemoryStream())
{
image.Save(stream, image.RawFormat);
byteArr = stream.ToArray();
}
//将字节数组转换为Base64字符串
string base64Str = Convert.ToBase64String(byteArr);
2. 将字符串转换为图片
步骤
- 将Base64字符串转换为字节数组,使用Convert类的FromBase64String()方法;
- 将字节数组转换为图片,使用MemoryStream类和Bitmap类。
示例
//将Base64字符串转换为字节数组
byte[] byteArr = Convert.FromBase64String(base64Str);
//将字节数组转换为图片
using (MemoryStream stream = new MemoryStream(byteArr))
{
Bitmap image = new Bitmap(stream);
}
完整代码
下面是将图片转换为字符串和将字符串转换为图片的完整代码:
using System;
using System.Drawing;
using System.IO;
namespace ImageToStringConvert
{
public static class ImageToStringConvert
{
/// <summary>
/// 将图片转换为字符串
/// </summary>
/// <param name="imageFilePath">图片路径</param>
/// <returns></returns>
public static string ImageToBase64(string imageFilePath)
{
//加载图片
Bitmap image = new Bitmap(imageFilePath);
//将图片转换为字节数组
byte[] byteArr = null;
using (MemoryStream stream = new MemoryStream())
{
image.Save(stream, image.RawFormat);
byteArr = stream.ToArray();
}
//将字节数组转换为Base64字符串
string base64Str = Convert.ToBase64String(byteArr);
return base64Str;
}
/// <summary>
/// 将字符串转换为图片
/// </summary>
/// <param name="base64Str">Base64字符串</param>
/// <returns></returns>
public static Bitmap Base64ToImage(string base64Str)
{
//将Base64字符串转换为字节数组
byte[] byteArr = Convert.FromBase64String(base64Str);
//将字节数组转换为图片
using (MemoryStream stream = new MemoryStream(byteArr))
{
Bitmap image = new Bitmap(stream);
return image;
}
}
}
}
总结
通过上面的示例代码,我们可以看到,实现图片与字符串相互转换的功能是比较简单的。只需要使用C#的相关类,就可以完成这一操作。希望这篇文章能够对大家在开发中遇到相同问题时提供帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现的图片、string相互转换类分享 - Python技术站