Windows 8应用商店应用中的Base64ToImage
在我的Windows 8应用程序中,我得到一个图像作为base64字符串。现在,我正在寻找一种转换字符串的方法,以便将其包含在我的XAML图像中,如下所示: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();
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字符串无效。