画面のサイズと解像度を取得するために 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 を返すのはなぜですか?
私がこれについて間違っている場合はお知らせください。