このパラメーターをどこでも確認できるかどうかは誰にもわかりませんか?
2 に答える
これを読むGraphics.DpiX
とわかります。
100 を掛けGraphics.DpiX
て 96 で割ると、パーセンテージのフォント スケーリングが得られます。これは、100% のフォント スケーリングが 96 dpi に相当するためです。
アプリケーションがDPI 対応としてマークされていない場合、ユーザーがフォント スケーリングを 150% に設定すると、DpiX
プロパティは 96 を報告することに注意してください。標準の WinForms アプリが DPI 対応としてマークされているかどうかはわかりません。
C# を使用していない場合は、Windows 7 でこれを機能させるために 2 つの手順を実行する必要があります。
まず、アプリケーションを DPI 対応にします。 このブログでは、その方法を説明しています。これには、アプリケーション マニフェストの変更、またはSetProcessDPIAware()関数の呼び出し (存在する場合と存在しない場合があります) のいずれかが含まれます。
次に、この MSDN 記事で説明されているように、それぞれGetDeviceCaps(hdc, LOGPIXELSX)
およびを使用して X/Y DPI 値を取得します。GetDeviceCaps(hdc, LOGPIXELSY)
以前は DPI に対応していなかったアプリケーションがありますが、テキスト スケーリング (Windows 7 の [ディスプレイ] コントロール パネルで利用可能) を使用すると壊れてしまい、Windows 8 以降には影響しませんでした。