在Windows Phone上将base64字符串转换为C#中的图像

时间:2013-01-26 16:34:30

标签: c# .net base64 windows-phone

我有一个base64字符串,我希望将其转换为图像,并将Image控件的Source设置为该结果。

通常我会使用Image.FromStream来做到这一点,类似于:

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

但是,Windows Phone 上不存在Image.FromStream方法,偶然搜索只会显示依赖于该方法的结果。

1 个答案:

答案 0 :(得分:11)

您可以使用以下方法:

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

将图像添加到XAML,例如:

    <Image x:Name="myWonderfulImage" />

然后您可以设置源,如下所示:

myWonderfulImage.Source = base64image(yourBase64string);