4

画面上でオブジェクトを正しい寸法でマップする必要があるため、これは便利です。解像度が 1280x1024 で通常の 96dpi 設定の 19 インチ lcd を使用している場合、正しい 1 インチの正方形をマップするには、次のような xaml を作成する必要があります。

<Rectangle Name="one_inch_side_on_19_inch_diag_display" Height="86" Width="86" Fill="Blue"/>

幅と高さは 86 に設定されているため、

86 ~= 96 (ドット/インチ) * 17 (インチ) / 19 (インチ)

Windowsは、寸法を計算するためのベースとして17インチモニターで96dpiを想定しているため...ありがとう

4

1 に答える 1

5

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 台のモニターを持つローカル マシンでテストしたところ、ほぼ正確な結果が返されました。(私の 13 インチ画面では 12.70、24 インチ画面では 23.98 です。)

于 2012-10-16T10:00:02.563 に答える