gpt4 book ai didi

c++ - 如何在没有 X11 或/dev/fb0 的 Linux 中截屏?

转载 作者:IT王子 更新时间:2023-10-29 00:22:28 25 4
gpt4 key购买 nike

我正在开发基于 Linux 的嵌入式系统。它使用 Qt 进行窗口化,没有 Xserver。我的目标是截取屏幕截图。

我试过使用 FBgrab。它失败了,因为我没有 /dev/fb0,因为内核中没有启用帧缓冲区。我们正在运行一个基于 Qt 的应用程序以在屏幕 (HDMI) 上显示 UI。我还在 QT 网站上尝试过使用 QPixmap 和抓取窗口的屏幕截图应用程序。这也是一个失败,因为我无法在系统中运行两个 QAppliction,因为它会影响显示。

还有其他方法可以截屏吗?

最佳答案

您可以让您的应用程序根据某些事件或命令截取自身的屏幕截图。您可以通过将小部件抓取到一个像素图,然后将这个像素图保存在某个地方来实现。例如:

QWidget *widget = QApplication::activeWindow();
QPixmap pixmap = QPixmap::grabWidget(widget);
pixmap.save(QString("/path/to/screenshot/screenshot.png"));

关于c++ - 如何在没有 X11 或/dev/fb0 的 Linux 中截屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21659152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com