繁体   English   中英

如何获取Metro(UWP)中BitmapImage的宽度和高度?

[英]How to get the width and height of a BitmapImage in metro (UWP)?

我正在地铁应用程序中工作。

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

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

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

如果未加载图像, BitmapImagePixelWidthPixelHeight返回0 仅在实际使用图像时才加载图像,例如,将其分配给Image.Source并显示。 那是个问题。 使用BitmapCacheOption.None无济于事,它仅适用于WP7。

正确的解决方案是使用BitmapDecoder

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

在MSDN论坛上找到了此解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM