繁体   English   中英

是否可以在 QImage 上设置剪辑路径或保存 Qpainter 绘制的内容?

[英]Is it possible to set a clip path on a QImage or save what a Qpainter paints?

我有一个 QImage 我能够使用 QPainter class setClipRegion() function 剪掉 QRegion 并成功剪掉该区域。但是,我想将绘制的内容保存为新的 QImage,但在文档中没有看到任何关于保存实际显示的内容。

我试过直接更改图像的 alpha 通道以匹配剪辑区域,但我的实现效率很低。 setClipRegion() function 是我学到的唯一可以有效显示我想要的东西。 我的最终目标是将裁剪图像用作 QOpenGLTexture,因此我需要以某种方式保存最初裁剪的图像。 谢谢你的帮助。

您可以在保存时简单地指定一个新的文件名。 所以你不要覆盖旧的。

    image = QtGui.QImage('orginal.png')
    output = QtGui.QImage(image.size(), QtGui.QImage.Format_ARGB32)
    output.fill(QtCore.Qt.transparent)
    painter = QtGui.QPainter(output)
....
    -> your clip path
....
    painter.drawImage(QtCore.QPoint(), image)
    painter.end()
    output.save('new.png')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM