qt 截图 视频 截屏幕 截窗口

近期在做一个项目,用directshow将换面渲染到qt窗口上,希望能通过截图方式将画面渲染出来,网上中文的查了很多,绝大部分调用widget中的grab()  或者调用QPixmap中的grabwidget() ,者两个方式都无法获取到directshow渲染中的画面。

后来通过参考:

https://blog.csdn.net/huangqi734044860/article/details/61194287

调用如下代码

QScreen *screen = QGuiApplication::primaryScreen();
screen->grabWindow(this->winId()).save("E:/temp/temp/out1.png");

成功将渲染好的视频画面的窗体截图保存下来。

传入窗体的id,能将该窗体所在区域截取下来。

需要注意的是grabwindow 如果传入参数为0 表示抓取屏幕

如果是多屏幕(qt中将所有屏幕都看做0号id),则通过后面的参数来设置偏移。

grabWindow(0,500,0,1920,1080)

猜你喜欢

转载自blog.csdn.net/qiushangren/article/details/80709605
今日推荐