在 QtQuick Text 元素中禁用字体抗锯齿

Posted

技术标签:

【中文标题】在 QtQuick Text 元素中禁用字体抗锯齿【英文标题】:Disable font antialiasing in QtQuick Text element 【发布时间】:2014-04-09 13:09:09 【问题描述】:

我想在 QtQuick 2 中关闭 Text 元素的字体抗锯齿功能。

我尝试同时设置antialiasing: falserenderType: Text.NativeRendering

但没有任何改变……我该怎么做?有可能吗?

【问题讨论】:

您使用的是哪个操作系统? 我在嵌入式 Linux 上运行(Qt 5.2.1 使用德州仪器提供的工具链作为 AM335x SDK 6.00.00 的一部分进行交叉编译) 【参考方案1】:

renderType: Text.NativeRendering 应该是你能得到的最好的。现在检查系统的字体渲染设置。

Item 中的antialiasing 似乎根本不影响文本:

主要用于基于矩形和图像的元素来决定是否 该项目是否应使用抗锯齿。具有抗锯齿的项目 启用需要更多内存并且渲染速度可能会更慢。

http://qt-project.org/doc/qt-5/qml-qtquick-item.html#antialiasing-prop

【讨论】:

Ehm...我错过的东西...我在嵌入式 linux 上的 EGLFS 平台上运行...在这种情况下,当您谈到“系统的字体渲染设置”时,您会怎么做究竟是什么意思? 抗锯齿对我来说有很大的不同。【参考方案2】:

如果您尝试去除生成的彩色噪点并获得更清晰的文本,您可以为文本添加透明轮廓。这样就可以了。

 Text 
    text: "hello"
    style: Text.Outline
    styleColor: "transparent"

【讨论】:

以上是关于在 QtQuick Text 元素中禁用字体抗锯齿的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 webdriver (Java) 在 phantomjs 上禁用字体抗锯齿?

使 Windows 上的字体像 Mac/Linux 一样渲染:禁用字体提示和/或在客户端处理抗锯齿

text 修复Ubuntu的字体抗锯齿。

如何在 Windows 中启用字体抗锯齿 [关闭]

文本抗锯齿和字体平滑

在flashas3中嵌入抗锯齿字体