Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert base64 string to image in C# on Windows Phone

I have a base64 string and I want convert that to an image and set the Source of an Image control to the result of that.

Normally I would do that using Image.FromStream, similar to this:

Image img;
byte[] fileBytes = Convert.FromBase64String(imageString);
using(MemoryStream ms = new MemoryStream())
{
    ms.Write(fileBytes, 0, fileBytes.Length);
    img = Image.FromStream(ms);
}

However, the Image.FromStream method does not exist on Windows Phone, and a casual search only turns up results that depend on that method.

like image 866
carbin Avatar asked Jan 26 '13 16:01

carbin


1 Answers

You can use a method like this:

    public static BitmapImage base64image(string base64string)
    {
        byte[] fileBytes = Convert.FromBase64String(base64string);

        using (MemoryStream ms = new MemoryStream(fileBytes, 0, fileBytes.Length))
        {
            ms.Write(fileBytes, 0, fileBytes.Length);
            BitmapImage bitmapImage = new BitmapImage();
            bitmapImage.SetSource(ms);
            return bitmapImage;
        }
    }

Add an image to your XAML, such as this:

    <Image x:Name="myWonderfulImage" />

You can then set the source, like this:

myWonderfulImage.Source = base64image(yourBase64string);
like image 196
carbin Avatar answered Sep 30 '22 10:09

carbin