Java Toolkit屏幕分辨率的删除

时间:2013-03-11 08:50:35

标签: 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);

输出:

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

现在Javadoc说getScreenResolution以dpi(每英寸点数)返回分辨率。我认为这意味着如果我的图像宽度为600像素,那么屏幕上的图像将为5英寸。当我测量时,它实际上是4英寸宽。告诉我它应该是150 dpi。

我的显示器是15.6英寸的显示器,我测量它的宽度为13.6英寸,高度超过7.6英寸。现在我的屏幕宽度显然是1920像素宽,计算到每英寸约141像素。同样1080 /7.6计算到每英寸约141个像素。

This web page显示600x600像素的图像。我在屏幕上测量它为4.25“,计算到141像素。

为什么getScreenResolution返回120?

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

1 个答案:

答案 0 :(得分:0)

Toolkit.getDefaultToolkit().getScreenResolution()试图获得分辨率,但取决于驱动程序的准确程度和其他因素(例如视频卡和显示器之间的所有连接都不能反馈大小),返回的大小不能完全被摧毁。