Java Toolkit屏幕分辨率的删除

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?

如果我误解了这一点,请告诉我.

Fer*_*big 1

Toolkit.getDefaultToolkit().getScreenResolution()尝试获得分辨率,但取决于驱动程序的精确度和其他因素(例如并非视频卡和显示器之间的所有连接都无法反馈尺寸),返回的尺寸无法完全推算。