如何将图像(.png)转换为base64字符串,反之亦然,并将其存储到指定位置

时间:2013-02-26 12:39:20

标签: c# windows-8

我正在尝试将图像(png)存储到Windows 8应用程序中的sqlite数据库,我发现可以通过将其转换为base64字符串并将字符串存储到数据库来完成。稍后在应用程序中我想将该base64字符串转换为png图像并将其存储到指定位置。问题是我不知道如何将图像转换为base64和base64图像并将其存储到c#windows 8 app中的指定位置。任何帮助将不胜感激。

1 个答案:

答案 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;
        }
    }