通过python脚本截屏。 [Linux]

时间:2020-03-05 18:55:11  来源:igfitidea点击:

我想通过python脚本截取屏幕截图,并毫不干扰地保存它。

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

解决方案

回答

经过简短的搜索后,gtkShots似乎可以为我们提供帮助,因为它是GPLed的python屏幕截图程序,因此应包含所需的内容。

回答

import ImageGrab
img = ImageGrab.grab()
img.save('test.jpg','JPEG')

这需要Python Imaging Library

回答

这个可以在X11上运行,也许也可以在Windows上运行(请检查一下)。需要PyQt4:

import sys
from PyQt4.QtGui import QPixmap, QApplication
app = QApplication(sys.argv)
QPixmap.grabWindow(QApplication.desktop().winId()).save('test.png', 'png')

回答

这无需使用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借来的