2013-02-26 7 views
6

Windows 8アプリケーションでsqliteデータベースにイメージ(png)を保存しようとしています。それをbase64の文字列に変換して文字列をデータベースに格納してください。後で、私はそのbase64文字列をpngイメージに変換し、指定された場所に格納したいと思う。問題は、画像をbase64とbase64に変換して画像をC#windows 8 app内の指定された場所に保存する方法を知らないことです。どんな助けもありがとう。イメージ(.png)をbase64文字列に変換する方法(逆も同様)指定された場所に描画する方法

答えて

8
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; 
     } 
    } 
+0

@ HardLuck ... 2番目の方法では、MemoryStreamが正しく配置されていることを確認するためにusingブロックで初期化しないでください。 – Paul

+0

あなたは正しいです、より正確です。 – HardLuck

+0

@hardluckどのようにアプリケーションの特定の場所に画像を保存するには、アプリの資産フォルダを言う? – Justice