因为我有地图在屏幕上正确标注对象这对我来说非常有用; 如果我使用的是19" 液晶显示器用1280×1024的分辨率和正常96DPI然后设置以映射正确的1英寸见方我必须写这样的XAML
<Rectangle Name="one_inch_side_on_19_inch_diag_display" Height="86" Width="86" Fill="Blue"/>
其中,宽度和高度都投入到86,因为
86〜= 96(点每英寸)* 17(英寸)/ 19(英寸)
窗户上的17" 假定96DPI监视器为基准来计算的尺寸...谢谢
我发现了一个类似的问题上www.c-sharpcorner.com 。 它提供了下面的代码
using System;
using System.Management;
class Test
{
static void Main()
{
var searcher = new ManagementObjectSearcher("\\root\\wmi","SELECT * FROM WmiMonitorBasicDisplayParams");
foreach(ManagementObject mo in searcher.Get())
{
double width = (byte)mo["MaxHorizontalImageSize"] / 2.54;
double height = (byte)mo["MaxVerticalImageSize"] / 2.54;
double diagonal = Math.Sqrt(width * width + height * height);
Console.WriteLine("Width {0:F2}, Height {1:F2} and Diagonal {2:F2} inches", width, height, diagonal);
}
Console.ReadKey();
}
}
我测试了我的本地机器拥有2台显示器上,它几乎返回精确的结果。 (12.70对了,13英寸,23.98 24英寸的屏幕。)
文章来源: How can I get the real size of the (lcd) display diagonal, i.e. if a it is a 17 inch or 19 inch or other?