【发布时间】:2016-03-11 18:59:44
【问题描述】:
所以我的应用程序从一个 url 获取一个 BitmapImage,它可以工作,然后我需要将该图像分配给一个 writeablebitmap。目前我有这个:
Debug.WriteLine("Poster opened for loading. Url=" + e);
BitmapImage img = new BitmapImage(new Uri(e));
Backdrop.Source = img;
img.ImageOpened += async (s, e1) =>
{
WriteableBitmap wbm = new WriteableBitmap(((BitmapImage)s).PixelWidth, ((BitmapImage)s).PixelHeight);
var storageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(e));
using (var stream = await storageFile.OpenReadAsync())
{
await wbm.SetSourceAsync(stream);
}
};
这是非常糟糕的代码,但直到StorageFile.GetFileFromApplicationUriAsync() 我被告知值落在意外范围内之前,它都可以正常工作。我猜这是因为它只接受“ms-appx:///”格式,而不是“http://”。有什么办法可以让它工作吗?最终以更清洁的方式?
我以为这很容易,但这是一场噩梦。从昨天开始我就一直在尝试这样做。
附:我知道这可能看起来像重复,但我在 StackOverflow 上完全没有发现任何实际有效的东西。
【问题讨论】:
标签: c# win-universal-app bitmapimage writeablebitmap storagefile