The pyscreenshot
module can be used to copy
the contents of the screen to a PIL image memory or file.
Replacement for the ImageGrab Module, which works on Windows only.
- Links:
- home: https://github.com/ponty/pyscreenshot
- documentation: http://ponty.github.com/pyscreenshot
- Features:
- Cross-platform wrapper
- Capturing the whole desktop
- Capturing an area
- saving to file or PIL image memory
- some back-ends are based on this discussion: http://stackoverflow.com/questions/69645/take-a-screenshot-via-a-python-script-linux
- pure Python library
- Known problems:
- not implemented: Capturing an active window
- different back-ends generate slightly different images from the same desktop, this should be investigated
- ImageMagick creates blackbox on some systems
- PyGTK back-end does not check $DISPLAY -> not working with Xvfb
- slow: 0.2s - 0.7s
- Similar projects:
Example:
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')
# one or more sudo apt-get install scrot sudo apt-get install imagemagick sudo apt-get install python-gtk2 sudo apt-get install python-qt4 sudo apt-get install python-wxversion # Python Imaging Library (required) sudo apt-get install python-imaging sudo apt-get install python-pip sudo pip install pyscreenshot
# as root pip uninstall pyscreenshot