我需要截取常规屏幕截图,但我需要一种方法来忽略打开的应用程序。在屏幕截图中必须出现常规背景,就好像应用程序/窗口未打开一样。
换句话说,我需要一张没有窗口/应用程序(已存在)但显示此窗口/应用程序背后的内容的屏幕截图,忽略窗口/应用程序。
为了获取屏幕截图,我在 QT/c++ 中有以下代码:
(...)
QScreen *screen = QGuiApplication::primaryScreen();
QPixmap qPImage = screen->grabWindow(0);
QImage qImg = qPImage.toImage();//convert to qImage
(...)
有可能做我需要的吗?
问候 亚历克斯
最佳答案
可能不是完美的解决方案,但这是我在完全相同的情况下所做的:
void MainWindow::onUpdateClicked()
{
hide();
QTimer::singleShot(45, this, SLOT(updateScreenshotPicture()));
}
void MainWindow::updateScreenshotPicture()
{
screenshotBorders->setPic(QPixmap::grabWindow(QApplication::desktop()->winId()));
show();
}
关于c++ - 在没有一个特定程序窗口的情况下截取屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045027/