2

我正在尝试打开一个 PNG 图像并通过 QImage 和 QPainter 向它写入一些文本(水印)。该代码在 Linux 上 100% 工作,但是当我在 Windows XP 上运行它时(尚未使用任何其他版本的 Windows 进行测试),文本永远不会写入图像。我在 try/except 块中有代码,但没有返回错误。

image = QtGui.QImage('demo.png')

painter = QtGui.QPainter()
painter.begin(image)
painter.setOpacity(0.8)
painter.setPen(QtCore.Qt.blue)
painter.setFont(QtGui.QFont('arial', 12))
painter.drawText(image.rect(), QtCore.Qt.AlignCenter, 'Watermark')
painter.end()

image.save('demo.png')

使用 Python 2.6.2、PyQt 4.5.4

有任何想法吗?

4

2 回答 2

0

我首先想到的可能是在 Windows 上找不到指定的字体。

于 2009-09-16T18:10:09.717 回答
0

我的猜测是,您在 Windows 上使用的任何 png lib 都不会透明(正确)

于 2009-09-16T18:12:22.427 回答