2012-04-26 30 views
6

Có ai biết cách chụp ảnh từ qwebview không? Tình hình của tôi là, không có phạm vi sử dụng url hình ảnh và sau đó là một QNetworkRequest. Tôi chỉ cần 'trích xuất' hình ảnh từ QWebview.Cách tải ảnh từ QWebView

+0

Xin hãy giúp ai đó :) – Dewsworld

+0

Ý bạn là gì khi "chụp ảnh"? Nhận ảnh chụp màn hình của trang? Ảnh chụp màn hình của một phần của trang? Tải xuống hình ảnh có trong DOM? –

+0

Tôi muốn có một hình ảnh ở chế độ xem. Ví dụ: hình ảnh của Hình ảnh này mà không cần tải xuống lại hình ảnh đó, chỉ từ chế độ xem. Nếu nó không hoạt động, sau đó ảnh chụp màn hình của một phần sẽ làm. – Dewsworld

Trả lời

10

Trước tiên, bạn cần phải nhận được QWebElement với hình ảnh mà bạn muốn lưu - nếu bạn không có nó đã có, một cách tốt để có được nó là

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

giả view là tên của QWebView của bạn . Sau đó,

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

Giải pháp tuyệt vời :) – Dewsworld

+1

'el.geometry(). Width(), el.geometry(). Height()' có thể được thay thế bằng 'el.geometry(). Size()' – Grief

Các vấn đề liên quan