我发现了一个 Swing 图像渲染错误,它只影响配备 Retina 显示屏的 Mac(TYPE_INT_ARGB_PRE
BufferedImages
无法绘制)。我有一个有效的解决方法(改为使用 TYPE_INT_ARGB
图像),但为了应用它,我需要能够检测主机是否是带有 Retina 显示屏的 Mac。检测机器是不是Mac没问题,但是如何判断显示器类型呢?
最佳答案
Toolkit.getDefaultToolkit().getDesktopProperty("apple.awt.contentScaleFactor")
上面的行应该在 Retina 显示器上返回 2.0
。在较新的非视网膜 mac 上,它返回 1.0
,在所有其他平台上,您返回 null
。我找不到任何官方文档,但我遇到了它 in this mailing list post在尝试解决类似问题时。
关于java - 如何检测 Mac 是否具有来自 Java 的 Retina 显示屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14716743/