1

私はデルのラップトップの緯度5420を持っています。

内蔵モニターの幅は12.20インチ、高さは6.696,86 インチです。

OSはWindows7です。画面の解像度は1600x900(推奨解像度)に設定されています。

さらに、Windows7は100%の「カスタムテキストサイズ(DPI)の設定」で構成されています(96ピクセル/インチで9ポイントのSegoe UI)。これは、windows7が私のモニターの1インチが96ピクセルを使用していると見なしていることを意味すると思います。

1600ピクセルを12.20インチ(または900 x 6,86)で割ると、約131,1になります。

システムの予想されるDPIはどのくらいですか?横の?垂直のもの?この構成を考えると、正方形は私の画面では長方形として表示されますか?私は何かが足りないのですか?

元の質問は今は意味がありません。現在、解像度と物理サイズは同じ16:9形式に従います。

さて、それが私を悩ませている質問は、実際には画面が1インチあたり約131ピクセルであるように見えるが、OSはそれが1インチあたり96ピクセルであると考えていることです。プログラムに1インチの行を書き込むように指示した場合、画面には何ピクセルが印刷されますか?96または131?プログラムに131ピクセルを書き込むように指示し、画面に定規を置いた場合、何を測定しますか?

編集の理由:ご不便をおかけして申し訳ありません。定規を使用してメジャーを再確認しましたが、垂直メジャーでエラーが発生しました。

4

2 に答える 2

3

GetDeviceCapsは、この情報(HORZSIZE/ VERTSIZELOGPIXELSX/ LOGPIXELSY)を返すことを目的としています。でも、

GetDeviceCapsディスプレイドライバが提供する情報を報告します。ディスプレイドライバが情報の報告を拒否した場合は、GetDeviceCaps固定計算に基づいて情報を計算します。ディスプレイドライバが無効な情報を報告した場合、無効な情報をGetDeviceCaps返します。また、ディスプレイドライバーが情報の報告を拒否した場合、GetDeviceCaps固定DPI(96 DPI)または固定サイズ(ディスプレイドライバーが提供した情報と提供しなかった情報に応じて)のいずれかを想定しているため、誤った情報を計算する可能性があります。残念ながら、Windows Display Driver Model(WDDM)(Windows Vistaで導入)に実装されたディスプレイドライバーは、GDIが情報を取得しないため、GetDeviceCapsは常に情報を計算する必要があります。

私のWindows7ラップトップの場合、HORZSIZE完全VERTSIZEに間違っています。

于 2012-07-25T07:09:02.863 に答える
2

96ピクセル/インチは一種の仮想であり、実際の画面サイズとは関係ありません。4000 * 3000ピクセルの画面があるとすると、LOGPIXELXは96を返します(標準設定の場合)。包括的な説明については、この記事をお読みください。

ところで、私のコンピューターのHORZSIZEとVERTSIZEも完全に間違っています。

于 2013-02-14T10:41:58.163 に答える