0

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

4

2 回答 2

3

一种选择可能是使用数据 URI 方案。您基本上对图片进行 base64 编码并将完整的数据写入 URL。例如:

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

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

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

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

于 2010-12-09T12:54:05.627 回答
0

Damn. Steffen beat me to it! :)

To add, you could convert to base 64 by saving the image to a QBuffer(&byteArray) and then saying byteArray.toBase64()

于 2010-12-09T12:57:17.670 回答