添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何在没有X11或/dev/fb0的情况下在Linux中拍摄屏幕截图?

8 人关注

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

我曾尝试使用FBgrab。它失败了,因为我没有 /dev/fb0 ,因为内核中没有启用帧缓冲器。我们正在运行一个基于Qt的应用程序,在屏幕上显示用户界面(HDMI)。我也试过QT网站上的屏幕拍摄程序,它使用QPixmap和抓取窗口。这也是一个失败,因为我不能在系统中运行两个QAppliction,因为它影响了显示。

有什么其他方法可以获得屏幕截图吗?

1 个评论
@nos 在设备中,在/etc/directfbrc文件中,我们给出了一个备用的图形系统(opengl),所以Qt不需要/dev/fb0。
c++
linux
qt
embedded
directfb
jsaji
jsaji
发布于 2014-02-09
2 个回答
PurpleAlien
PurpleAlien
发布于 2016-04-07
已采纳
0 人赞同

你可以让你的应用程序根据某些事件或命令对自己进行截图。你可以通过抓取widget到一个pixmap,然后把这个pixmap保存在某个地方来做到这一点。比如说。

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