2011-05-07 49 views
3

有沒有什麼方法可以用C++ CGI來捕捉網頁的圖像?我一直在尋找最高和最低的,儘管我已經發現了從Perl到C#的所有實現中的大量實現,但卻無法在C++中找到任何實現。用C++獲取網站縮略圖快照

這個想法是訪問一個網站的用戶能夠指定一個URL。然後該腳本將拍攝URL的網站圖片,然後顯示將其加載到我正在構建的C++ CGI網站。

任何幫助,將不勝感激!

謝謝!

例在Perl: Webthumb

+1

C#實現使用哪些代碼?幾乎所有可以用C#編寫的東西都可以輕鬆移植到Win32 C++應用程序中。 – 2011-05-07 09:57:22

+0

如在其中參數是一個URL的方法? – Bart 2011-05-07 09:58:17

+0

@Bart - aye,如一個方法,將一個URL作爲參數,並拍攝該URL的圖片,並將其保存到一個文件夾(或直接顯示在另一個網站上)。基本上,我正在用C++開發一個CGI網站,作爲要求的一部分,我需要能夠顯示網站的webthumb。雖然沒有人會在C++中寫出一個CGI網站,但是它的源代碼有點短:) – 2011-05-07 10:07:45

回答

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和你做在標準輸出上返回的字節數。