我正在尝试将图像(png)存储到Windows 8应用程序中的sqlite数据库,我发现可以通过将其转换为base64字符串并将字符串存储到数据库来完成。稍后在应用程序中我想将该base64字符串转换为png图像并将其存储到指定位置。问题是我不知道如何将图像转换为base64和base64图像并将其存储到c#windows 8 app中的指定位置。任何帮助将不胜感激。
答案 0 :(得分:10)
public string ImageToBase64(Image image,
System.Drawing.Imaging.ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
// Convert Image to byte[]
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
public Image Base64ToImage(string base64String)
{
// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
// Convert byte[] to Image
ms.Write(imageBytes, 0, imageBytes.Length);
Image image = Image.FromStream(ms, true);
return image;
}
}