如何在QWebKit中显示QImage?

时间:2010-12-09 01:27:10

标签: qt qimage qwebkit

有没有办法在QWebFrame中显示QImage(在内存中,而不是在文件系统上)而不将图像写入临时文件?

2 个答案:

答案 0 :(得分:3)

一个选项可能是使用data URI scheme。你基本上base64编码你的图片,并将完整的数据写入URL。 例如:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC

WebKit应直接或作为HTML源代码的一部分支持这些URI,例如

<img src="data:image/png;base64,blaBLABLA" />

请注意:如果您的图片很大,您可能会遇到一些限制。通常这更多地用于像图标这样的小东西。

答案 1 :(得分:0)

该死。斯蒂芬打败了我! :)

要添加,您可以通过将图像保存到QBuffer(&amp; byteArray)然后说byteArray.toBase64()

来转换为base 64