簡體   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