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

Elf*_*ЯUs 3 c++ snapshot thumbnails

有没有办法使用 C++ CGI 捕获网页图像?我一直在四处寻找,虽然我在从 Perl 到 C# 的所有语言中找到了许多实现,但在 C++ 中还没有找到任何实现。

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

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

谢谢!

Perl 中的示例: Webthumb

Dav*_*rle 5

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

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

视图对象有一个 loadFinished 信号。您可以将一些代码连接到该信号。当页面呈现时,您可以按照此处所述拍摄快照。归结为:

QPixmap::grabWindow(mainwindow->winId())
Run Code Online (Sandbox Code Playgroud)

获得屏幕截图后,您可以从 cgi 中返回标准输出上的字节并完成。