PySide.QtGui.QImage 转为 Base64

2 投票
2 回答
1819 浏览
提问于 2025-04-17 21:19

抱歉问了个初学者的问题,但我找不到解决办法。你知道怎么用 PySide.QtGui.QImage 把一个 base64 图片转换成字符串吗?

我试过这个:

image_data = base64.b64encode(imageActual)

但是我得到了这个错误:

TypeError: 必须是字符串或缓冲区,而不是 PySide.QtGui.QImage

谢谢

2 个回答

0

我用这个方法解决了我的问题:

image_64_decode = base64.decodestring(base64Data)
image = QtGui.QImage()
image.loadFromData(image_64_decode , 'PNG')
2

转换为base64:

    img = QtGui.QImage('image.png')
    ba = QtCore.QByteArray()
    buffer = QtCore.QBuffer(ba)
    buffer.open(QtCore.QIODevice.WriteOnly)
    img.save(buffer, 'PNG')
    base64_data = ba.toBase64().data()

从base64转换:

    ba = QtCore.QByteArray.fromBase64(base64_data)
    img = QtGui.QImage.fromData(ba, 'PNG')

撰写回答