Windows 8应用商店应用中的Base64ToImage

Windows 8应用商店应用中的Base64ToImage,image,xaml,windows-8,windows-store-apps,base64,Image,Xaml,Windows 8,Windows Store Apps,Base64,在我的Windows 8应用程序中,我得到一个图像作为base64字符串。现在,我正在寻找一种转换字符串的方法,以便将其包含在我的XAML图像中,如下所示: public static Image Base64ToImage(string s) { // How To? } private async Task<BitmapImage> Base64ToImage(string base64) { var bitmap = new BitmapImage();

在我的Windows 8应用程序中,我得到一个图像作为base64字符串。现在,我正在寻找一种转换字符串的方法,以便将其包含在我的XAML图像中,如下所示:

public static Image Base64ToImage(string s)
{
    // How To?
}
private async Task<BitmapImage> Base64ToImage(string base64)
{
    var bitmap = new BitmapImage();
    var buffer = Convert.FromBase64String(base64);

    using (var stream = new InMemoryRandomAccessStream())
    {
        await stream.WriteAsync(buffer.AsBuffer());
        stream.Seek(0);
        bitmap.SetSource(stream);
    }

    return bitmap;
}

我见过很多解决方案,但它们都使用Windows 8应用商店应用程序中不可用的类/方法。感谢您的提示。

该方法可能如下所示:

public static Image Base64ToImage(string s)
{
    // How To?
}
private async Task<BitmapImage> Base64ToImage(string base64)
{
    var bitmap = new BitmapImage();
    var buffer = Convert.FromBase64String(base64);

    using (var stream = new InMemoryRandomAccessStream())
    {
        await stream.WriteAsync(buffer.AsBuffer());
        stream.Seek(0);
        bitmap.SetSource(stream);
    }

    return bitmap;
}
专用异步任务Base64ToImage(字符串base64)
{
var bitmap=新的位图();
var buffer=Convert.FromBase64String(base64);
使用(var stream=new InMemoryRandomAccessStream())
{
wait stream.WriteAsync(buffer.AsBuffer());
stream.Seek(0);
设置源(流);
}
返回位图;
}

卓越而简短的解决方案!我添加了一个try/catch块,以防base64字符串无效。