如何在pyQT
中从QGraphicsScene
渲染图形图像
我在QGraphicsScene
中有一张图片,该图片是根据多个QGraphicsPixMapItem
项目创建的。
我需要将其渲染为磁盘上的单个图像。
由于
答案 0 :(得分:0)
您只需获取要捕获的组合边界矩形,然后将其渲染到QPixmap
。您可以在此时保存QPixmap
。
未经测试,但应该是......
import operator
items = get_target_items() # just get all the items you want
# combine all the scene rects for the items
# equiv: totalRect = rect1 | rect2 | ...
totalRect = reduce(operator.or_, (i.sceneBoundingRect() for i in items))
pix = QtGui.QPixmap(totalRect.width(), totalRect.height())
painter = QtGui.QPainter(pix)
scene.render(painter, totalRect)
pix.save("capture.jpg", "JPG")