相关疑难解决方法(0)

如何在JavaFX字体中强制消除锯齿?

在测试我的JavaFX 8应用程序的GUI时,我注意到一些标签没有显示消除锯齿的文本.经过一番谷歌搜索和挣扎,我发现了一件非常烦人的事情.抗锯齿仅适用于字体大小超过80像素的标签.下面是一个比较JavaFX和Swing应用程序并应用AA的示例:

在此输入图像描述

示例代码:https://gist.github.com/anonymous/be60bb89181376ff12aa

有没有办法强制所有字体大小的AA?这也发生在你身上吗?我在JavaFX Jira上搜索了一个类似的bug ,但到目前为止还没有人抱怨.也许我应该为此打开一个?

一些可能有用的信息:

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
Windows 8.1 64 bits [Version 6.3.9600]
Run Code Online (Sandbox Code Playgroud)

fonts javafx antialiasing

24
推荐指数
1
解决办法
9662
查看次数

JavaFX 字体中的抗锯齿(字体渲染得非常清晰锐利,但不平滑)

当我运行我的应用程序时遇到问题,字体看起来非常清晰锐利,但不平滑。我已经尝试过在这个问题和这个问题上给出的解决方案,但它似乎并没有完全解决问题,因为它看起来比你在 Windows 上看到的正常系统字体更模糊。我从这两篇文章中得到的解决方案是设置系统属性(在加载 FXML 之前):

System.setProperty("prism.lcdtext", "false");
Run Code Online (Sandbox Code Playgroud)

这是添加这行代码之前和之后的样子。

javafx-字体

正如您所看到的,后图像中的一些字母非常模糊,尽管它比前图像更平滑。

我也尝试在我的CSS中添加这行代码,但它根本没有任何效果:

.text{
    -fx-font-smoothing-type: gray;
}
Run Code Online (Sandbox Code Playgroud)

注意:我使用自定义字体并将其添加到我的 css 中:

@font-face {
    font-family: 'Exo';
    src: url('Exo-Regular.ttf');
}
Run Code Online (Sandbox Code Playgroud)

javafx javafx-8

5
推荐指数
0
解决办法
563
查看次数

标签 统计

javafx ×2

antialiasing ×1

fonts ×1

javafx-8 ×1