我想通过python脚本截取一个屏幕截图,然后悄悄地保存它.

我只对Linux解决方案感兴趣,应该支持任何基于X的环境.

推荐答案

这不需要使用scrot或ImageMagick.

import gtk.gdk

w = gtk.gdk.get_default_root_window()
sz = w.get_size()
print "The size of the window is %d x %d" % sz
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
if (pb != None):
    pb.save("screenshot.png","png")
    print "Screenshot saved to screenshot.png."
else:
    print "Unable to get the screenshot."

借自http://ubuntuforums.org/showpost.php?p=2681009&postcount=5

Linux相关问答推荐

Linux和Windows x86程序集调用约定

变量在vim中打印良好,但在bashshell中打印不好,这怎么可能发生?

在linux中,我想将昨天的文件与今天的文件进行比较,仅将今天的更改作为输出,忽略一些字段

从 curl 命令输出中获取值

如何让 Flutter 用鼠标拖动而不是滚轮滚动? (Linux)

try 使用 patchelf 修补 MuJoCo 二进制文件时出现执行格式错误

std::system 使用什么Shell?

判断指定名称的画面是否存在

如何使用 __attribute__((visibility("default")))?

如何使用 GDB 和 QEMU 调试 Linux 内核?

用于将文件夹从本地计算机复制到远程服务器的 scp 命令语法

如何获取 CPU 使用率

如何排除 tar 的绝对路径?

如何使目录下的所有文件在linux上可读?

Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

可以通过 SSH 连接的所有用户的列表

如何自动化 HTML 到 PDF 的转换?

基于shell中正则表达式的 colored颜色 突出显示输出

Linux 守护进程

CentOS:在 PHP 安装中启用 GD 支持