1

我正在尝试在 Windows 8 应用程序上显示图像。图像数据是从 Web 服务收集的,并以 Base64 编码字符串的形式提供。

我在 Stack Overflow 上发现了以下内容:

如何在 WPF 中读取 base64 图像?

但是,当我开始使用 BitmapImage 类时,我似乎无法访问 System.Windows.Media.Imaging,尽管以下 Microsoft 文档使我们相信它可用于 .NET 4.5 和 Windows 8个应用程序:

http://msdn.microsoft.com/en-us/library/ms619218.aspx

非常感谢您的帮助。

4

1 回答 1

3

您想要的类在Windows.UI.Xaml.Media.Imaging命名空间中。这是获取 Base64 图像并从中创建图像的示例...

var img = @"/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQ ... "; // Full Base64 image as string here
var imgBytes = Convert.FromBase64String(img);
var ms = new InMemoryRandomAccessStream();
var dw = new Windows.Storage.Streams.DataWriter(ms);
dw.WriteBytes(imgBytes);
await dw.StoreAsync();
ms.Seek(0);

var bm = new BitmapImage();
bm.SetSource(ms);

// img1 is an Image Control in XAML
bm.ImageOpened += (s, e) => { this.img1.Source = bm; };
bm.ImageFailed += (s, e) => { Debug.WriteLine(e.ErrorMessage); };

我无法将完整的 Base64 图像复制到答案中。

于 2013-02-13T17:44:50.783 回答