我在 QWebEngineView 对象中使用以下代码将网页捕获为图像:
image=new QImage(w,h, QImage::Format_ARGB32);
painter = new QPainter(image);
render(painter);
image->save(imagefilename);
不幸的是,它仅将小部件上显示的网页的一部分渲染到图像。如何将整个页面渲染成图片?
有可能hide https://stackoverflow.com/a/48166521/1868395webview 并调整其大小以显示整个网页。我正在使用 PyQt5(版本 5.12),但这个想法也应该适用于 C++ Qt:
# Create hidden QWebEngineView
view.setAttribute(Qt.WA_DontShowOnScreen)
view.show()
...
# Resize the view and then capture image
def take_screenshot():
view.grab().save(output_file, b'PNG')
size = view.page().contentsSize().toSize()
view.resize(size)
QTimer.singleShot(1000, take_screenshot)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)