QtWebkit中如何将网页内容转为图片

原地址:http://www.cnblogs.com/baizx/archive/2010/07/31/1789573.html

 如何将webkit中的渲染结果也就是网页画面转换为图片
   用抓图软件当然可以,但是如果要使用Qt代码来实现的话原理也很简单,就是让webkit渲染到一张图片上,而不是一个控件上。
代码如下:
QSize size = m_page.mainFrame()->contentsSize(); //这个网页的大小
    image = QImage(size, QImage::Format_ARGB32_Premultiplied); 
    image.fill(Qt::transparent); //不要背景

    // render the web page
    QPainter p(&image); //关键就在这里,创建painter时不采用QWidget,而是QImage,
    p.setRenderHint(QPainter::Antialiasing, true);
    p.setRenderHint(QPainter::TextAntialiasing, true);
    p.setRenderHint(QPainter::SmoothPixmapTransform, true);
    m_page.setViewportSize(m_page.mainFrame()->contentsSize());
    m_page.mainFrame()->render(&p);
    p.end();
到此QImage中保存的就是整个网页的图片了,

posted @ 2014-02-27 16:04  蓝夜  阅读(393)  评论(0编辑  收藏  举报