pyscreenshot is a Python module that 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.
Usage
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')
Installation
General
install setuptools or pip
install PIL
install at least one backend
install the program:
if you have setuptools installed:
# as root
easy_install pyscreenshot
if you have pip installed:
# as root
pip install pyscreenshot
Ubuntu
# 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-setuptools
sudo easy_install pyscreenshot
Uninstall
# as root
pip uninstall pyscreenshot
Features:
- Crossplatform wrapper
- Capturing the whole desktop
- Capturing an area
- saving to file or PIL image memory
- some backends are based on this discussion: http://stackoverflow.com/questions/69645/take-a-screenshot-via-a-python-script-linux
- Plugin based, it has wrappers for various backends:
- scrot
- ImageMagick
- PyGTK
- PIL (only on windows)
- PyQt4
- wxPython
Requirements:
- Python
Limitations:
- not implemented: Capturing an active window
- different backends generate slightly different images from the same desktop, this should be investigated
- ImageMagick creates blackbox on some systems
- PyGTK backend does not check $DISPLAY -> not working with Xvfb
- slow: 0.2s - 0.7s
Comments not found