Skip to content

Python3pkg/python-mss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A cross-platform multi-screen shot module in pure python using ctypes

Very basic, it will grab one screen shot by monitor or a screen shot of all monitors and save it to an optimised PNG file, Python 2.7/3.3 compatible.

So, while you can pip install mss, you may just drop it in your project and forget about it.

MSS stands for Multi-Screen Shot.

It's under zlib licence.

Instance the good class

You can determine automatically which class to use:

from platform import system
from mss import *

systems = {
    'Darwin' : MSSMac,
    'Linux'  : MSSLinux,
    'Windows': MSSWindows
}
try:
    MSS = systems[system()]
except KeyError:
    err = 'System "{0}" not implemented.'.format(system())
    raise NotImplementedError(err)

Or simply import the good one:

from mss import MSSLinux as MSS

init(debug=False)

When initalising an instance of MSS, you can enable debug output:

mss = MSS(debug=True)

save(output='mss', oneshot=False)

For each monitor, grab a screen shot and save it to a file.

Parameters:

output - string - the output filename without extension
oneshot - boolean - grab only one screen shot of all monitors

This is a generator which returns created files:

'output-1.png',
'output-2.png',
...,
'output-NN.png'
or
'output-full.png'

Example

Then, it is quite simple:

try:
    mss = MSS()

    # One screen shot per monitor
    for filename in mss.save():
        print('File "{0}" created.'.format(filename))

    # A shot to grab them all :)
    for filename in mss.save(oneshot=True):
        print('File "{0}" created.'.format(filename))
except Exception as ex:
    print(ex)
    raise

Bonus

Just for fun ... Show us your screen shot with all monitors in one file, we will update the gallery.

Link to the galley: https://tiger-222.fr/tout/python-mss/galerie/

About

An ultra fast cross-platform multiple screenshots module in pure Python using ctypes.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.3%
  • Shell 1.7%