2014-10-17 51 views
0

我使用QWebView作为我的应用程序的渲染层。QWebView。如何从内存缓冲区加载图像?

我希望能够缓存内存中的图像,并让webkit引擎在缓存时逐渐呈现图像,就像通过HTTP连接一样,插入<img>标签。

一些Google搜索表明,QWebView可以从本地文件,HTTP URL或Qt资源URL访问图像内容。我的应用程序不使用这些机制,它接收并解码来自Unix套接字流的图像数据。

什么是我可以得到一个缓冲/缓冲图像呈现在QWebView img标记(例如,不必设置本地主机HTTP守护进程或首先将文件保存到磁盘)的最少杂乱的方式?即来到我的脑海

+0

请检查是否有帮助http://developer.nokia.com/community/discussion/showthread.php/188112-QWebView-load-page-from-memory – Pratham 2014-10-17 10:49:49

回答

3

一个解决方案..

创建从要被用作图像的数据QByteArrayQBuffer,然后用QWebView::setContent()QByteArray或构建的数据和使用的HTML标签QWebView::setHtml()

我还没有尝试过,因此不知道它是否会工作。

+0

你是说我可以将原始图像数据直接输入到在web视图中的HTML标签,然后将原始数据以某种方式分配给img标签?我不明白。 – dwk 2014-10-17 11:18:14

+0

是的,如果你有你的图像为JPG格式和原始数据以base64格式编码。请检查以下链接http://stackoverflow.com/questions/22539999/how-to-display-raw-image-data-with-html-and-javascript和http://jsfiddle.net/bYGum/ – Pratham 2014-10-20 06:31:08