5

画面のサイズと解像度を取得するために Java を使用しています。次のコードを実行すると、以下の出力が得られます。

Toolkit toolkit =  Toolkit.getDefaultToolkit ();
Dimension dim = toolkit.getScreenSize();
System.out.println("Width of Screen Size is "+dim.width+" pixels");
System.out.println("Height of Screen Size is "+dim.height+" pixels");       
int resolution =Toolkit.getDefaultToolkit().getScreenResolution();
System.out.println(resolution);

出力:

Width of Screen Size is 1920 pixels
Height of Screen Size is 1080 pixels
120

現在、Javadoc には、getScreenResolution が解像度を dpi (ドット/インチ) で返すと記載されています。これは、幅が 600px の画像がある場合、画面上で 5 インチになることを意味します。測ってみると、実際は幅4センチ。150 dpi にする必要があることを示しています。

私のモニターは 15.6 インチのモニターで、測定すると幅 13.6 インチ、高さ 7.6 インチ強です。現在、私の画面の幅は明らかに幅 1920 ピクセルで、計算すると 1 インチあたり約 141 ピクセルになります。同様に、1080/7.6 は計算します。インチあたり約 141 ピクセルまで。

この Web ページには 600x600px の画像が表示されます。画面で測定すると、4.25 インチで、計算すると 141 ピクセルになります。

getScreenResolution が 120 を返すのはなぜですか?

私がこれについて間違っている場合はお知らせください。

4

1 に答える 1

1

Toolkit.getDefaultToolkit().getScreenResolution()解像度を取得しようとしますが、ドライバーの精度やその他のこと (ビデオ カードとモニター間のすべての接続でサイズに関するフィードバックができないなど) によっては、返されるサイズを完全に推し進めることはできません。

于 2013-03-31T21:41:11.077 に答える