2016-05-02 27 views
1

Base64文字列をイメージに変換し、同じイメージを使用してImageViewを設定しようとしています。私はそれをJavaで行う方法を知っていますが、私はC#で問題を抱えています。誰でもC#でそれを行う方法のアイデアを持っていますか?Base64文字列をビットマップまたはイメージに変換するXamarinまたはAndroid

私が試したコードのいくつかは、

public Image Base64ToImage(string base64String) 
{ 
    // Convert base 64 string to byte[] 
    byte[] imageBytes = Convert.FromBase64String(base64String); 
    // Convert byte[] to Image 
    using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) 
    { 
     Image image = Image.FromStream(ms, true); 
     return image; 
    } 
} 

答えて

3

をBase64:もしそうなら、あなたはこのような何かを行うことができるはずのBase64に

public Bitmap Base64ToBitmap(String base64String) 
{ 
    byte[] imageAsBytes = Base64.Decode(base64String, Base64Flags.Default); 
    return BitmapFactory.DecodeByteArray(imageAsBytes, 0, imageAsBytes.Length); 
} 

ビットマップ:

public String BitmapToBase64(Bitmap bitmap) 
{ 
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
    bitmap.Compress(Bitmap.CompressFormat.Png, 100, byteArrayOutputStream); 
    byte[] byteArray = byteArrayOutputStream.ToByteArray(); 
    return Base64.EncodeToString(byteArray, Base64Flags.Default); 
} 
1

画像をBase64文字列、 オンラインへの変換 - here

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

Base64で文字列画像、 オンラインへの変換 - here

public Image Base64ToImage(string base64String) 
{ 
    // Convert Base64 String to byte[] 
    byte[] imageBytes = Convert.FromBase64String(base64String); 
    MemoryStream 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

こんにちは、 Vishwesh私はこのコードを試しました、私は次のエラーを取得します。 'Image'に 'FromStream'の定義が含まれていません。 私はVisual Studio 2015を使っています。 –

+0

'MemoryStream ms =新しいMemoryStream(imageBytes);'で十分です。あなたは 'Write'する必要はありません。このフォームでは、FromStreamに渡す前に位置を0に設定する必要があります –

0

私はそれを想定していますあなたのコード化されたデータはいくつかのビットマップ形式?ビットマップに

public Bitmap Base64ToImage(string base64String) 
{ 
    // Convert base 64 string to byte[] 
    byte[] imageBytes = Convert.FromBase64String(base64String); 
    // Convert byte[] to Image 
    using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) 
    { 
     Bitmap image = BitmapFactory.FromStream(ms, true); 
     return image; 
    } 
} 
関連する問題