#screen #screen-capture #capture #screenshot #linux-macos #computer-vision

bin+lib captis

A Screen capturing library built for Linux, Windows and MacOS

15 releases (5 breaking)

0.6.1 Aug 13, 2022
0.6.0 Jul 27, 2022
0.5.1 Jul 25, 2022
0.4.2 Jul 22, 2022
0.1.0 May 30, 2022

#845 in Images

MIT license

27KB
665 lines

Captis - A library for capturing the screen on Linux, MacOS and Windows

It's a fairly simple library that performs good enough, the OS level APIs that were used are inspired by python-mss.

Specification

  • Windows implementation uses the Windows GDI API.
  • Linux X11 implementation uses the RandR extension to get information about the displays, for capturing the XShm extension is used if available, otherwise we fallback to the standard protocol.
  • MacOS implementation uses the Core Graphics Framework.

Usage

To run this code you also need to add image crate to your project and enable the jpeg feature, otherwise you won't be able to save the file as JPEG.

The same goes for any other format as well, if you wanna treat the image as PNG you must enable png feature. Check their documentation to see which formats are available.

use captis::init_capturer;

let capturer = init_capturer().expect("Couldn't Initialize Capturer");

let image = capturer.capture(0).expect("Couldn't Capture Screen");

image.save("test.jpeg").expect("Couldn't Save Image");

Supported Platforms

  • Windows
  • Linux (X11)
  • MacOS

If any help needed feel free to contact rust@crnw.uk

Dependencies

~1.3–3MB
~60K SLoC