检测Windows 8.1商店应用中的屏幕缩放系数

时间:2014-03-03 21:07:05

标签: c# winrt-xaml scale windows-8.1 screen-resolution

我正在为Windows 8.1商店应用程序中的某些图像的源属性构建一个字符串。

我需要检测设备所需的比例因子,以便我可以将正确的 .scale -n 附加到字符串的末尾。这些图像源在应用程序外部,因此我不能仅通过参考没有scale-n部分的图像来依赖Windows的自动缩放。

所以我需要知道是否应该将scale-100,scale-140或scale-180附加到图片网址。

我如何在c#和xaml中解决这个问题?

2 个答案:

答案 0 :(得分:4)

ResolutionScale resolutionScale = DisplayInformation.GetForCurrentView().ResolutionScale;
double factor = (double)resolutionScale / 100.0;

答案 1 :(得分:1)

我找到了解决方案:

我创建了这个变量:

ResolutionScale resolutionScale = Windows.Graphics.Display.DisplayInformation.GetForCurrentView().ResolutionScale;

然后我使用了switch语句:

switch (resolutionScale)
{
  case ResolutionScale.Scale100Percent:
    //Device is 100
    break;
  case ResolutionScale.Scale140Percent:
    //Device is 140
    break;
  case ResolutionScale.Scale180Percent:
    //Device is 180
    break;
}