C# Metro 应用程序如何从网络加载图像

标签 c# windows-phone-7 windows-8 microsoft-metro windows-runtime

我在 Canvas 上添加了 Windows.UI.Xaml.Controls.Image。我正在使用 HttpClient 进行 http 调用以下载图像。我将图像作为流获取并添加为 BitmapImage 对象的源,但未加载图像。谁能告诉我我做错了什么

代码:

        var httpClient = new HttpClient();
        var content = await httpClient.GetStreamAsync(imageUrl);


            var ras = new InMemoryRandomAccessStream();
            await content.CopyToAsync(ras.AsStreamForWrite());
            bitmap = new BitmapImage();
            bitmap.SetSource(ras);

            myImage.Source = bitmap;

最佳答案

我设法让它工作了。下面是代码:

     var httpClient = new HttpClient();            
     var contentBytes = await httpClient.GetByteArrayAsync(uri);                          
     var ims = new InMemoryRandomAccessStream();                
     var dataWriter = new DataWriter(ims);
     dataWriter.WriteBytes(contentBytes);
     await dataWriter.StoreAsync();
     ims.Seek(0);

     bitmap = new BitmapImage();                
     bitmap.SetSource(ims);                

     myImage.Source = bitmap;                

关于C# Metro 应用程序如何从网络加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759809/

相关文章:

c# - 以编程方式隐藏 PropertyGrid 中的属性

c# - 在 .net 核心和 .net 框架中使用 .net 标准包

windows-8 - 获取winrt中的可用内存

wpf - .wmv 视频不在 Windows 8 中的 WPF MediaElement 控件中播放

c# - 如何获得已经发布的 SAML 断言?

c# - 使用 Repeater 和 SQL 自定义分页

windows-phone-7 - 如何在 xna 中为 wp7 生成平滑的运动?

c# - 从数组列表中排序数据

exception - 只读集合不支持操作

windows-8 - 是否有可能获得 Windows 8 通知列表