2012-04-26 15 views
6

¿Alguien sabe cómo obtener una imagen de qwebview? Mi situación es que no hay espacio para usar la url de la imagen y luego una QNetworkRequest. Solo necesito 'extraer' la imagen de QWebview.Cómo obtener imágenes de QWebView

+0

Por favor alguien ayuda :) – Dewsworld

+0

¿Qué quieres decir con "get a picture"? Obtener una captura de pantalla de la página? ¿Una captura de pantalla de una parte de la página? Descargar una imagen contenida en el DOM? –

+0

Quiero obtener una imagen que está en la vista. Por ejemplo, la imagen de Esta imagen sin volver a descargarla, solo desde la vista. Si no funciona, la captura de pantalla de una parte servirá. – Dewsworld

Respuesta

10

primer lugar usted necesita para obtener el QWebElement con la imagen que desea guardar - si no lo tiene ya, una buena manera de conseguirlo es

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

asumiendo view es el nombre de su QWebView . Entonces,

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

Awesome solution :) – Dewsworld

+1

'el.geometry(). Width(), el.geometry(). Height()' podría reemplazarse por 'el.geometry(). Size()' – Grief

Cuestiones relacionadas