如何用Java获取屏幕尺寸?
屏幕分辨率,屏幕/显示器尺寸(英寸和宽高比)。 开发的应用程序必须显示某种必须具有相同大小的测试,而不管屏幕大小和宽高比。 让我们说我们想要显示一个宽2厘米,高2厘米的矩形,我们希望它对于每种可能类型的显示适配器都是相同的大小。
答案 0 :(得分:2)
我认为答案是在纯Java中无法实现,可能根本不可能。
您可以通过默认的Toolkit
对象获取Java中可显示的屏幕尺寸和标称缩放比例(dpi)。然而,这些通常是不准确的......这将导致非方形正方形。
您可以通过本机代码获得更准确的值,但这肯定是不可移植的。这个Q / A表示不可能 - How to get screen's physical size (i.e. in inches)?
答案 1 :(得分:0)
以下是在测试环境中校准特定显示器的一种方法概述:
构建一个假定任意像素数/英寸(DPI)的校准矩形。估算可以从GraphicsConfiguration#getNormalizingTransform()
获得。
将该矩形缩放为假定的DPI。
为水平和垂直DPI添加微调器。
要求用户调整微调器以使矩形具有所需的尺寸。
记录java.util.Preferences
中的值以供后续使用。
使用GraphicsDevice#getIDstring()
识别特定的设备校准。
附录:Analyze > SetScale…
对话框中ImageJ
提供了类似功能,如wiki主题SpatialCalibration所示。