PySide.QtGui.QImage to Base64
Posted
技术标签:
【中文标题】PySide.QtGui.QImage to Base64【英文标题】: 【发布时间】:2014-03-07 16:21:41 【问题描述】:为新手问题道歉,但找不到解决方案。您知道 PySide.QtGui.QImage 是转换 base64 图像还是将数据转换为字符串?
我试过了
image_data = base64.b64encode (imageActual)
但我收到此错误
TypeError: 必须是字符串或缓冲区,而不是 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')
【讨论】:
以上是关于PySide.QtGui.QImage to Base64的主要内容,如果未能解决你的问题,请参考以下文章
css 纯CSS砌体布局 - https://medium.com/@_jh3y/how-to-pure-css-masonry-layouts-a8ede07ba31a#.fomk5pu69