Qt5 を使用して C++ で Webサイトのスクリーンショットを保存する
なんか簡単に出来そうな感じがしたのでやってみました。
[ソース]
#include <QtWidgets/QApplication> #include <QtGui/QPixmap> #include <QtWebKitWidgets/QWebView> #include <QtWebKitWidgets/QWebFrame> #include <iostream> int main(int argc, char* argv[]){ QApplication app(argc, argv); QWebView view; view.load(QUrl("https://www.google.co.jp/")); view.page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); view.page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); QObject::connect(&view, &QWebView::loadFinished, [&](bool){ view.resize(view.page()->mainFrame()->contentsSize()); QPixmap::grabWidget(&view).save("output.png"); std::cout << "saved" << std::endl; app.quit(); }); return app.exec(); }