PDA

View Full Version : How to create screenshot of webpage in ui->webView ?



lapdx
9th November 2012, 19:20
How to create screenshot of webpage in ui->webView ?

ChrisW67
10th November 2012, 20:15
What have you read and tried?
Do you mean screen shot of the currently visible portion of the page or a 'screenshot' of the page from top to bottom?

lapdx
13th November 2012, 14:17
I need a 'screenshot' of the page from top to bottom

ChrisW67
13th November 2012, 22:05
You can QWebView::print() the page into a PDF.
You can access the QWebFrame and use QWebFrame::render() to paint the frame into a QImage. There's even an example in the QWebPage documentation.

lapdx
17th November 2012, 22:40
ChrisW67,

This is programm:
8423
this code:
void MainWindow::grabScreen(){
QImage *image = NULL;
QPainter *painter = NULL;

int m_width = 800;
int m_height = 800;

do
{
image = new QImage(m_width, m_height, QImage::Format_RGB32);
if(image == NULL)
{
qDebug("ERROR: Unable to create image.");
break;
}

painter = new QPainter(image);
if(painter == NULL)
{
qDebug("ERROR: Unable to create painter.");
break;
}

QWebPage *page = ui->webView->page();
QWebFrame *frame = page->mainFrame();

qDebug("render");
frame->render(painter);

image->save("test.jpg", "JPG", 100);
qDebug("saved.");
}
while(false);

delete painter;
delete image;
}
Give me a this result:
8424

How can i get fullpage to image?