您的位置:首页 > 产品设计 > UI/UE

将PyQt4.QtGui.QImage对象转化为base64字符串

2015-09-19 18:39 429 查看

将PyQt4.QtGui.QImage对象转化为base64字符串

将PyQt4QtGuiQImage对象转化为base64字符串
问题描述

解决方法

问题描述

  在做网页截屏项目时,遇到了一个问题,就是要将截屏得到的图片转化为 base64 加密的字符串。我在进行截屏时,使用的是定义一个与网页大小相同的
QImage
对象,然后用
QPainter
将网页内容画到
QImage
上的方法。这时,就需要将
QImage
对象转化为 base64 字符串。

解决方法

#size为网页大小
img = QtGui.QImage(size, QtGui.QImage.Format_ARGB32)
painter = QtGui.QPainter(img)
self.webPage.mainFrame().render(painter)
painter.end()
#QImage通过ByteArray转化为BASE64字符串
data = QtCore.QByteArray()
buf = QtCore.QBuffer(data)
img.save(buf, 'PNG')
str = data.toBase64()


  因为
QImage
是用来展示图片的容器,它本身不属于任何图片格式,因此需要先将它的以 Byte 的形式用
ByteArray
储存,然后以 PNG 格式保存,最后通过
ByteArray
toBase64()
方法将其转化为 base64 格式的字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: