2012-04-26 44 views
6

有誰知道如何從qwebview獲取圖片?我的情況是,沒有範圍使用圖像URL,然後使用QNetworkRequest。我只需要從QWebview中提取圖像。如何從QWebView獲取圖片

+0

請有人幫助:) – Dewsworld 2012-04-26 14:53:13

+0

你是什麼意思與「獲取圖片」?獲取頁面的屏幕截圖?頁面的一部分截圖?下載DOM中包含的圖像? – 2012-04-26 15:14:39

+0

我想獲取視圖中的圖像。例如,的圖像沒有重新下載它的圖像,只是從視圖中。如果它不起作用,那麼一部分的截圖將會執行。 – Dewsworld 2012-04-27 07:41:56

回答

10

首先,你需要得到QWebElement你要保存的圖像 - 如果你沒有它已經,一個好方法是

QWebElement el = view.page()->mainFrame()->findFirstElement("IMG[src='path/to/img'"); 

假設view是你QWebView名。然後,

QImage image(el.geometry().width(), el.geometry().height(), QImage::Format_ARGB32); 
QPainter painter(&image); 
el.render(&painter); 
painter.end(); 
image.save("path/to/img.png"); 
+0

真棒溶液:) – Dewsworld 2012-04-27 09:12:45

+1

'el.geometry()。寬度(),el.geometry()。高度()'可以用'el.geometry()取代。大小()' – Grief 2016-10-28 19:12:10