from PIL import ImageGrab screenshot = ImageGrab.grab(bbox=None, include_layered_windows=False, all_screens=False, xdisplay=None)
bbox=None
- регион экрана/окна для захвата. По умолчанию весь экран. Обратите внимание, что в ОС Windows верхняя левая точка может быть отрицательной, если используется all_screens=True
.include_layered_windows=False
- включает многослойные окна. Только ОС Windows.all_screens=False
- захватить все мониторы. Только ОС Windows.xdisplay=None
- адрес дисплея X11
. Значение None
для получения системного экрана (по умолчанию в Linux). Пустая строка ''
для получения экрана X11
(по умолчанию в Windows или macOS).Функция ImageGrab.grab
делает снимок экрана. В macOS, пиксели внутри ограничительной рамки bbox
возвращаются как изображение RGBA
или изображение RGB
в других операционных системах. Если ограничительная рамка отсутствует, то копируется весь экран.
Если аргумент xdisplay=None
, то для выполнения снимка будет использоваться gnome-screenshot
, если он установлен. Чтобы для захвата экрана/окна по умолчанию использовать X11
, необходимо установить аргумент xdisplay=''
(пустая строка).
Можно проверить поддержку X11
, используя PIL.features.check_feature()
с аргументом feature='xcb'
.
from PIL import Image, ImageGrab import time # делаем задержку в 2 секунды на выбор # окна, для которого нужно сделать скриншот time.sleep(2) # создание скриншота img = ImageGrab.grab() # сохраним скриншот img.save("test.jpg", quality="web_medium") # откроем созданный скриншот with Image.open("test.jpg") as img: # смотрим, какую информацию # пишет библиотека Pillow # при создании скриншота print(img.info)
Дополнительный аргумент quality
метода img.save()
Представляет собой настройки качества JPEG, которые эквивалентны настройкам Photoshop. По умолчанию доступны следующие пресеты: web_low
, web_medium
, web_high
, web_very_high
, web_maximum
, low
, medium
, high
, max
.
Подробнее о дополнительных аргументах метода img.save()
при сохранении JPEG читайте в материале "Особые параметры чтения/записи основных форматов изображений"