【问题标题】:PySide.QtGui.QImage to Base64PySide.QtGui.QImage to Base64
【发布时间】:2014-03-07 16:21:41
【问题描述】:

为新手问题道歉,但找不到解决方案。您知道 PySide.QtGui.QImage 是转换 base64 图像还是将数据转换为字符串?

我试过了

image_data = base64.b64encode (imageActual)

但我收到此错误

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

谢谢

【问题讨论】:

    标签: python base64 pyside qtgui qimage


    【解决方案1】:

    转换为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')
    

    【讨论】:

    • 我无法从 base64 转换工作。我总是得到一个空字节数组。不知道出了什么问题。数据很好,我在网上试了一下,得到了图片。
    • @ZohaibZaidi。如果没有看到导致问题的实际数据,就无法真正发表评论。
    【解决方案2】:

    我能够用这个解决我的问题:

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

    【讨论】:

      猜你喜欢
      • 2018-05-26
      • 2022-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多