0

我正在从事地铁应用程序。

而且我正在使用BitmapImage,因为我设置了构造函数Uri,但我一直意识到PixelWidthPixelHeight返回0(我也验证了它Uri是正确的)。

我找不到另一个返回这些属性的类。我在想是否有办法通过字节数组或类似的方式获取这些数据。你怎么看?

4

2 回答 2

1

检查 CacheOption 属性并设置为 BitmapCacheOption.None。您也可以尝试转换为 WriteableBitmap。如果我说的不是真的,对不起,因为我无法测试。Xaml(仅限 wpf)xD

于 2012-07-20T02:01:42.103 回答
1

BitmapImage如果图像未加载,则返回0。图像仅在实际使用时才加载,例如分配和显示。那是……有问题的。使用没有帮助,它只适用于 WP7。PixelWidthPixelHeightImage.SourceBitmapCacheOption.None

正确的解决方案是使用BitmapDecoder

var stream = await storageFile.OpenReadAsync();
var decoder = await BitmapDecoder.CreateAsync(stream);
var size = new BitmapSize { Width = decoder.PixelWidth, Height = decoder.PixelHeight };

在 MSDN 论坛上找到了这个解决方案。

于 2016-10-01T09:14:56.600 回答