当尝试获取 Windows 设备上用户显示器的分辨率(不是像素数而是当前工作分辨率)时,我遇到了有趣的问题。Screen.getPrimary().getBounds()在几乎所有系统上返回正确的结果。Win 10 笔记本电脑有问题。即使它们是 4K 和全高清设备,它们的分辨率也被识别为 1280x768。
我还尝试了以下方法:
Toolkit.getDefaultToolkit().getScreenSize()Screen.getScreens()然后遍历所有屏幕(只找到一个)GraphicsDevice getDisplayMode().getWidth();GraphicsEnvironment getScreenDevices()然后遍历所有屏幕(只找到一个)我没有更多的想法了。是否有其他方法可以在所有 Windows 设备上正确获取屏幕分辨率?
我既不了解您的设备,也不了解 Windows 10,但您应该记住一件事。报告的尺寸不是设备的物理像素尺寸。相反,会报告缩放后的大小。在 Windows 上,这取决于您设备的显示设置。例如,我的 Mac 的物理像素尺寸为 2880x1800,但报告的尺寸为 1440x900。根据您的设置,这并不总是正好是 2 的因数。
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |