2

出于某种原因,我使用的任何版本的 Oracle JDK 都使用灰度提示而不是子像素。我在使用 Netbeans 7.3 甚至 Dev nightly+JDK 8 时注意到了这一点。

参照。这些图片:

左侧是 JDK 6,右侧是 JDK 8(与 JDK 7 的行为相同) 在此处输入图像描述

其他例子,在这里放大。

如何强制 Netbeans 使用亚像素提示?我什至在这里关注了常见问题解答,但运气不佳。

我知道 Apple 的 JDK 已针对 OS X 字体渲染进行了微调,但我发现我得到灰度提示而不是亚像素也很奇怪。

4

1 回答 1

1

看起来您需要打开分数指标,如下所示:

g2Image.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);

请参阅https://bugs.openjdk.java.net/browse/JDK-8023794,那里还有一个示例程序可以测试字体别名。

编辑:OpenJDK 9 现在支持正确的亚像素 AA 字体渲染。请在此处查看我的答案如何在 OS X 上的 Swing 中启用 LCD 子像素抗锯齿?

于 2013-10-17T12:12:57.117 回答