通过选择区域从python脚本(linux)获取屏幕截图

时间:2011-02-07 13:42:02

标签: python screenshot gnome

我看到了关于从python截取屏幕截图的帖子(这真的很有帮助:Take a screenshot via a python script. [Linux])。它运作良好,但我希望与gnome-screenshot具有相同的行为:有可能选择:

  • 捕获整个桌面
  • 捕获活动窗口
  • 捕获区域

有没有办法在python中执行此操作,或者最终使用gnome-screenshot应用程序执行此操作,然后获取文件?

我试图找到完美的gnome-screenshot命令行,无需询问通过在通话中给出路径后保存屏幕截图的位置,但我找不到它。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

如果您不仅限于使用gnome-screenshot,ImageMagick的import命令可以直接保存到文件而无需交互式提示。

详情请见此处:http://www.imagemagick.org/script/import.php

除命令行界面外,还有Python API

答案 1 :(得分:1)

使用gnome-panel-screenshot,您可以选择仅选择窗口:

http://manpages.unixforum.co.uk/man-pages/unix/solaris-10-11_06/1/gnome-panel-screenshot-man-page.html

我发现另一个页面有很多不同的方法从命令行截取屏幕截图:

http://tips.webdesign10.com/how-to-take-a-screenshot-on-ubuntu-linux

该页面上的大多数快速提示都没有显示如何将其缩小到窗口或区域,但对它们的更多调查将揭示所需的命令行参数。

答案 2 :(得分:1)

我有一个用于scrot,imagemagick,pyqt,wx和pygtk的包装器项目(pyscreenshot)。 如果你有其中一个,你可以使用它。 缺少捕获活动窗口。

安装:

easy_install pyscreenshot

示例:

import pyscreenshot as ImageGrab

# fullscreen
im=ImageGrab.grab()
im.show()

# part of the screen
im=ImageGrab.grab(bbox=(10,10,500,500))
im.show()

# to file
ImageGrab.grab_to_file('im.png')