【发布时间】:2015-06-05 22:22:18
【问题描述】:
我目前正在开发一个通用的 Windows 8.1 / Windows Phone 8.1 应用程序,并试图理解呈现给我的各种类型的显示信息。
对于 Windows Phone,我们可以访问 DisplayInformationClass 中的两个不同属性:
- 分辨率比例
- RawPixelsPerViewPixels
ResolutionScale 似乎只对某些“层”有效,例如 100/140/240,而 RawPixelsForViewPixels 看起来它为给定设备提供了一个精确的数字。例如,在我的 HTC One 上:
- ResolutionScale:Scale180Percent
- RawPixelsPerViewPixel:2.6
这些是完全不同的价值观!
我的假设是,ResolutionScale 应该用于存储更离散的项目,例如图像,在这种情况下,您无法在广泛的范围内制作各种尺寸,而 RawPixelsPerViewPixel 可以为您提供准确的值(例如例如进行自定义绘图)。
鉴于 Windows.Current.Bounds 为我的 HTC One 提供了 415x738 的视图像素,并且我的手机的指定分辨率为 1080 x 1920,2.6 似乎是正确的。
但是,RawPixelsPerViewPixels 仅适用于 Windows Phone 8.1,不适用于 Windows 8.1,如果我想要一个更精确的数字,我似乎无法找到与上述“近似”ResolutionScale 值相同的值我的 Windows 8.1 应用程序。
我猜这是一个两部分的问题:
1) 上述关于满足近似需求与实际需求的假设是否有效?
2) 为什么 Windows 8.1 不同时提供这两种功能?为什么 ResolutionScale 值是唯一可用的,而 Windows Phone 8.1 提供了这两者?
【问题讨论】:
标签: windows-phone-8.1 winrt-xaml windows-8.1