jto*_*ker 4 qt antialiasing qpixmap qpainter
当我使用 aQPainter到adrawText上QPixmap使用 aQFont时,当操作系统启用了抗锯齿功能时,它看起来是抗锯齿的,但当操作系统没有启用抗锯齿功能时,即使我显式设置了画家的渲染提示和字体策略,它也不会出现:
QPainter painter(&pixmap);
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);
font.setStyleStrategy(QFont::NoSubpixelAntialias); // I do not want clear-type
Run Code Online (Sandbox Code Playgroud)
我知道当在操作系统级别关闭抗锯齿文本时,操作系统(在本例中为 Windows 7)能够绘制抗锯齿文本,因为 Visual Studio 就是这样做的。
如何让 Qt 覆盖该操作系统的抗锯齿设置?
搜索词:抗锯齿
您需要确保添加QFont::PreferAntialias到您的font.setStyleStrategy通话中。就像这样:
font.setStyleStrategy(QFont::NoSubpixelAntialias | QFont::PreferAntialias);
Run Code Online (Sandbox Code Playgroud)