我有一个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
方法,偶然搜索只会显示依赖于该方法的结果。
答案 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);