我正在使用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?
如果我误解了这一点,请告诉我。
答案 0 :(得分:0)
Toolkit.getDefaultToolkit().getScreenResolution()
试图获得分辨率,但取决于驱动程序的准确程度和其他因素(例如视频卡和显示器之间的所有连接都不能反馈大小),返回的大小不能完全被摧毁。