我正在从事地铁应用程序。
而且我正在使用BitmapImage,因为我设置了构造函数Uri,但我一直意识到PixelWidth并PixelHeight返回0(我也验证了它Uri是正确的)。
我找不到另一个返回这些属性的类。我在想是否有办法通过字节数组或类似的方式获取这些数据。你怎么看?
我正在从事地铁应用程序。
而且我正在使用BitmapImage,因为我设置了构造函数Uri,但我一直意识到PixelWidth并PixelHeight返回0(我也验证了它Uri是正确的)。
我找不到另一个返回这些属性的类。我在想是否有办法通过字节数组或类似的方式获取这些数据。你怎么看?
检查 CacheOption 属性并设置为 BitmapCacheOption.None。您也可以尝试转换为 WriteableBitmap。如果我说的不是真的,对不起,因为我无法测试。Xaml(仅限 wpf)xD
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 论坛上找到了这个解决方案。