ajo*_*jon 5 java awt screen-resolution
我正在使用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);
Run Code Online (Sandbox Code Playgroud)
输出:
Width of Screen Size is 1920 pixels
Height of Screen Size is 1080 pixels
120
Run Code Online (Sandbox Code Playgroud)
现在Javadoc说getScreenResolution以dpi(每英寸点数)返回分辨率.我认为这意味着如果我的图像宽度为600像素,那么屏幕上的图像将为5英寸.当我测量时,它实际上是4英寸宽.告诉我它应该是150 dpi.
我的显示器是一个15.6英寸的显示器,我测量它的宽度为13.6英寸,高度超过7.6英寸.现在我的屏幕宽度显然是1920像素宽,计算到每英寸约141像素.同样1080/7.6计算至每英寸约141个像素.
此网页显示600x600像素的图像.我在屏幕上测量它为4.25",计算到141像素.
为什么getScreenResolution返回120?
如果我误解了这一点,请告诉我.
Toolkit.getDefaultToolkit().getScreenResolution()尝试获得分辨率,但取决于驱动程序的精确度和其他因素(例如并非视频卡和显示器之间的所有连接都无法反馈尺寸),返回的尺寸无法完全推算。