7

Windows 8アプリで画像(png)をsqliteデータベースに保存しようとしていますが、base64文字列に変換してデータベースに保存することで実行できることがわかりました。後でアプリで、そのbase64文字列をpng画像に変換し、指定した場所に保存したいと思います。問題は、画像をbase64に変換し、base64を画像に変換して、c#windows8アプリの指定された場所に保存する方法がわからないことです。どんな助けでもいただければ幸いです。

4

1 に答える 1

16
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
    return Convert.ToBase64String(imageBytes);
  }
}

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);
        return Image.FromStream(ms, true);
    }
}
于 2013-02-26T12:45:03.657 に答える