gpt4 book ai didi

python - 无法对字体进行抗锯齿

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:21 25 4
gpt4 key购买 nike

这是我写的代码,但它似乎应用了抗锯齿

font = QtGui.QFont("Trajan Pro", 20)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
font.setBold(True)
self.setFont(font)
self.shadow = QtGui.QGraphicsDropShadowEffect(self)
self.shadow.setOffset(2,1)
self.shadow.setBlurRadius(2.0)
self.label.setGraphicsEffect(self.shadow)

Here's the result

有什么建议吗?

编辑:这是一个 MCVE

from PyQt4 import QtCore, QtGui
class FontWidget(QtGui.QWidget):
def __init__(self, parent):
super(FontWidget, self).__init__(parent)

layout = QtGui.QHBoxLayout()
layout.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignCenter)
label = QtGui.QLabel('Hello, this is a test')
layout.addWidget(label)
self.setLayout(layout)

fontDB = QtGui.QFontDatabase()
fontDB.addApplicationFont(":/TrajanPro-Regular.otf")
font = QtGui.QFont("Trajan Pro", 20)
font.setStyleStrategy(QtGui.QFont.PreferAntialias)
font.setBold(True)
self.setFont(font)

shadow = QtGui.QGraphicsDropShadowEffect(self)
shadow.setOffset(2,1)
shadow.setBlurRadius(2.0)
label.setGraphicsEffect(shadow)

palette = QtGui.QPalette()
palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.white)
palette.setColor(QtGui.QPalette.Background, QtCore.Qt.red)
self.setPalette(palette)

if __name__ == '__main__':
app = QtGui.QApplication([])
window = FontWidget(None)
window.show()
app.exec_()

New screenshot

正如您在 S 和 O 中看到的,抗锯齿似乎没有正确应用

编辑2:

添加了导入

这是下载字体的链接:

http://www.fontpalace.com/font-details/TrajanPro-Regular+OTF/

最佳答案

问题出在字体本身。它在使用 Qt 4.8 64 位的 Mac 上抗锯齿效果很好,但 Windows 字体渲染器似乎不够先进,无法使用 PostScript 轮廓/OpenType 布局对字体进行抗锯齿。我尝试使用 FontForge,但到目前为止还无法使其在 Windows 上抗锯齿。

关于python - 无法对字体进行抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com