我怎样才能获得(LCD)显示的对角线实际尺寸,即,如果它是一个17英寸或19英寸还是其他?(How

2019-09-24 04:29发布

因为我有地图在屏幕上正确标注对象这对我来说非常有用; 如果我使用的是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监视器为基准来计算的尺寸...谢谢

Answer 1:

我发现了一个类似的问题上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?