Python PyQt:如何使用自定义消息生成光栅图像
要生成实心灰色图像,我正在使用:Python PyQt:如何使用自定义消息生成光栅图像,python,pyqt,qtgui,qtcore,Python,Pyqt,Qtgui,Qtcore,要生成实心灰色图像,我正在使用: def generate_image(filepath): img = QtGui.QImage(720, 405, QtGui.QImage.Format_RGB32) img.fill(QtCore.Qt.gray) img.save(filepath, 'JPG') 我想知道定制这个函数,将一条简单的文本消息置于灰色背景之上,会有多困难。我感谢你的意见 您只需使用a在图像上绘制: def generate_image(filepa
def generate_image(filepath):
img = QtGui.QImage(720, 405, QtGui.QImage.Format_RGB32)
img.fill(QtCore.Qt.gray)
img.save(filepath, 'JPG')
我想知道定制这个函数,将一条简单的文本消息置于灰色背景之上,会有多困难。我感谢你的意见 您只需使用a在图像上绘制:
def generate_image(filepath, text='Hello World!', color='red', font=None):
img = QtGui.QImage(720, 405, QtGui.QImage.Format_RGB32)
img.fill(QtCore.Qt.gray)
painter = QtGui.QPainter(img)
painter.setPen(QtGui.QColor(color))
if font is None:
font = painter.font()
font.setBold(True)
font.setPointSize(24)
painter.setFont(font)
painter.drawText(img.rect(), QtCore.Qt.AlignCenter, text)
painter.end()
return img.save(filepath, 'JPG')
Sputnix继续做好工作。我注意到,你有很多问题都有有效的有用答案,你既没有接受也没有投票。因此,这就是你感谢别人的方式(当然,通过回答别人的问题,但我知道不是每个人都对此感到满意)。在回答您的问题时接受答案也很重要,以结束问题。当然!我非常感谢大家的帮助,甚至是参加讨论!谢谢大家!!:)我只是有时候忘了更新老帖子。。。抱歉,这是这么好用的原因之一。谢谢你!一两天后,我一回到这个话题,我就会试试看!代码生成图像,但给出错误:QPaintDevice:无法销毁正在绘制的绘制设备painted@Sputnix. 它是无害的-只需将
painter.end()
添加到函数的末尾。非常好的调整!使用painter.end()它运行得非常完美!再次感谢!我会在img.save(filepath,'JPG')之前添加这一行。。。。由于if文件夹不存在,img.save()将不保存任何内容,但不会给出错误消息:if不存在os.path.exists(os.path.dirname(filepath)):os.makedirs(os.path.dirname(filepath))