在后台进程中获取Windows应用商店应用的设备纵横比

时间:2015-05-29 00:18:12

标签: c# windows-store-apps

我正在运行后台进程(WindowsRuntimeComponent),需要知道设备(PC或平板电脑)的纵横比,以便裁剪图像以适应锁定屏幕背景。有没有办法做到这一点,看到它是一个没有在屏幕上呈现的后台进程?

1 个答案:

答案 0 :(得分:0)

您可以使用它来获得所需的尺寸

var bounds = Window.Current.Bounds;
double height = bounds.Height;
double width = bounds.Width;

虽然在使用商店应用程序时,我发现以下代码在根据分辨率进行调整时效果更好

var width = Window.Current.Bounds.Width * (int)DisplayProperties.ResolutionScale / 100;
var height = Window.Current.Bounds.Height * (int)DisplayProperties.ResolutionScale / 100; 
var dpi = DisplayInformation.GetForCurrentView().RawDpiY; 
var screenDiagonal = Math.Sqrt(Math.Pow(width / dpi, 2) +Math.Pow(height / dpi, 2));