使用C ++获取网站缩略图快照

时间:2011-05-07 09:56:11

标签: c++ thumbnails snapshot

有没有办法使用C ++ CGI捕获网页图像?我一直在寻找高低,虽然我已经在从Perl到C#的所有内容中找到了许多实现,却无法在C ++中找到任何实现。

想法是访问网站的用户能够指定URL。然后该脚本会拍摄URL的网站,然后显示加载到我正在构建的C ++ CGI网站。

对此有任何帮助将不胜感激!

谢谢!

Perl中的示例: Webthumb

1 个答案:

答案 0 :(得分:4)

您需要渲染网页才能创建快照。要在C ++中呈现页面,您需要包含一个浏览器引擎。您可以使用Qt(c ++工具包)轻松完成此操作。 这取自Qt的文档,是显示网页所需的全部内容。

QWebView *view = new QWebView(ui->centralWidget);
view->load(QUrl("http://qt.nokia.com/"));
view->show();

视图对象具有loadFinished信号。您可以将一些代码连接到此信号。呈现页面时,您可以按照here所述创建快照。 归结为:

QPixmap::grabWindow(mainwindow->winId())

获得截图后,您可以从cgi和完成后返回stdout上的字节。