gpt4 book ai didi

pyqt - 从 PIL 到 PySide QImage 的更好方法?

转载 作者:行者123 更新时间:2023-12-05 01:31:58 26 4
gpt4 key购买 nike

我的应用加载一张图片并在上面打印一些文本。然后我想将打印的图像用作按钮图标上的标签。

问题是我无法将“图像”传递给 QIcon 或任何 PyQt 类。我在网上找到了一种方法,该方法建议将文件作为原始字符串发送到 Qt 的解析器,并从中重建图像。

效果非常好,只是图片是蓝色的。在阅读了一些关于图像处理的内容后,我了解到要修复它,我需要移动和反转所有位,所以

        data = im.convert('RGBA').tostring()
data = ''.join([''.join(i) for i in zip(data[2::4],data[1::4],data[0::4],data[3::4])])
qim = QtGui.QImage(data, im.size[0], im.size[1],
QtGui.QImage.Format_ARGB32)
pix = QtGui.QPixmap.fromImage(qim)

我的小 join/zip 魔法似乎有点不合适,我不明白为什么有必要。有一个更好的方法吗?我知道吐出 RGBA 并将其解析为 ARGB 存在一个明显的问题,但我探索了 PIL 和 PyQt 文档无济于事。

最佳答案

PIL(1.6 及更高版本)有一个模块 ImageQt ,这使得将 Image 转换为 QImage 变得非常容易,至少对于 PyQt4 来说是这样。如果你还需要它与 PySide 一起工作,它应该是对 source 的简单更改。

关于pyqt - 从 PIL 到 PySide QImage 的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13302908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com