Python как сделать скриншот экрана
Перейти к содержимому

Python как сделать скриншот экрана

  • автор:

Снимок экрана при помощи Pillow в Python

Функция 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 читайте в материале «Особые параметры чтения/записи основных форматов изображений»

  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Функция Image.open() модуля Pillow
  • Функция Image.new() модуля Pillow
  • Функция Image.frombytes() модуля Pillow
  • Функция Image.frombuffer() модуля Pillow
  • Функция Image.fromarray() модуля Pillow
  • Создание скриншота с использованием Pillow
  • Объект Image модуля Pillow
  • Обработка GIF изображений в Pillow
  • Параметры для JPG, ICO и WebP модуля Pillow
  • Извлечение EXIF-тегов модулем Pillow
  • Встроенные фильтры улучшения модуля Pillow
  • Фильтры передискретизации модуля Pillow
  • Подмодуль ImageDraw модуля Pillow
  • Функция Image.alpha_composite() модуля Pillow
  • Функция Image.blend() модуля Pillow
  • Функция Image.composite() модуля Pillow
  • Функция Image.merge() модуля Pillow
  • Функция Image.eval() модуля Pillow
  • Регулировка яркости, контрастности, резкости и насыщенности: Pillow
  • Автоматическая регулировка контрастности, Pillow
  • Тонирование черно-белого фото модулем Pillow
  • Масштабирование изображений с модулем Pillow
  • Добавить/обрезать рамку изображения, модуль Pillow
  • Перевернуть/отразить изображение, модуль Pillow
  • Обесцвечивание/инверсия изображения, модуль Pillow
  • Операции с каналами изображений, модуль Pillow

Python как сделать скриншот экрана

Блог веб разработки статьи | видеообзоры | исходный код

webfanat вконтакте webfanat youtube

Скриншоты python

Скриншоты python

Всем привет. Сегодня мы рассмотрим как делать скриншоты в python используя модуль pyautogui. Поехали!

Для начала подключаем модуль pyautogui.

import pyautogui

И теперь для того чтобы сделать скриншот, достаточно воспользоваться методом screenshot() который предоставляет нам данный модуль.

screen = pyautogui.screenshot('screenshot.png') print(screen)

В результате выполнения данного кода мы сделаем скриншот всего экрана. Сам скриншот сохранится в виде изображения с названием screenshot и в формате png. Которые мы указали в самом методе screenshot(). Найти изображение вы сможете рядом с файлом программы. На выходе метод screenshot() возвращает объект изображения.

Если мы хотим сделать скриншот определенной части экрана. Можно воспользоваться свойством region.

pyautogui.screenshot('screenshot.png',region=(0,0, 300, 400))

Здесь в свойстве region мы указали что у нас будет снят левый верхний угол размером 300×400 пикселей. То есть первые две координаты(0,0) отвечают за левый верхний угол, а вторые(300, 400) за размер области экрана.

Вот мы у научились делать скриншоты в python. Помимо этого модуль pyautogui предоставляет нам возможность нахождения кусочков изображения в области где мы осуществляем скриншот.

Допустим у меня есть такой кусочек изображения.

mozilla firefox

Кто не знает это значок браузера mozilla firefox.

И теперь я хочу на своем рабочем столе найти координаты нахождения данного значка.

template = pyautogui.locateOnScreen('screen.png') print(template)

screenshot python

Для этого я использую метод locateOnScreen() и в качестве аргумента передаю ему изображение со значком.

В результате работы данный метод возвращает координаты где было найдено соответствие с изображением значка в области всего экрана.

Если я к примеру удалю ярлык браузера mozilla firefox из области экрана. Следовательно соответствия метод locateOnScreen() уже не найдет и нам вернется значение None.

screenshot python pyautogui

Вот так с помощью метода locateOnScreen() вы можете в области экрана искать соответствия по картинке шаблону.

На этом у меня все. Надеюсь данная статья была для вас полезна. Если остались вопросы пишите их в комментариях к данной статье или группе в

А я с вами прощаюсь. Желаю успехов и удачи! Пока.

Оцените статью:
Статьи
  • Пространство имен php
  • Теги текста HTML
  • history HTML
  • CSS flexbox
  • CSS counter-increment
  • tkinter меню python
  • произношение javascript
  • template html
  • Анимация javascript | интерфейс animate
Комментарии

Внимание. Комментарий теперь перед публикацией проходит модерацию

Тим

16:35 26-03-2022

А если надо найти не на экране, а на другой картинке, то какой метод следует использовать?

© 2017-2024 webfanat.com Все права защищены.

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm

Добавить приложение на рабочий стол

Как сделать скришот всего экрана (Python)

Как можно сделать скриншот всего экрана чтобы он сохранялся в папку c:\Users\epicb\Desktop/TEST с названием 1.png и в случае если файл с таким именем уже есть чтоб он перезаписывался, я искал в интернете но ничего не нашел, буду благодарен если хотя бы скините ссылку на статью где можно с этим ознакомиться

Отслеживать

задан 26 янв 2021 в 9:13

user420913 user420913

отвечает ли это на ваш вопрос ru.stackoverflow.com/questions/1109366/…

26 янв 2021 в 9:19

нет не отвечает, там вообще про PyQt и про буфер обмена

– user420913

26 янв 2021 в 9:21

Если я в свой проэкт импортирую еще и PyQt то при компиляции в .exe он будет катастрофически много весить

– user420913

26 янв 2021 в 9:23

вы попробовали указанный пример?

Python как сделать скриншот экрана

На этом шаге мы рассмотрим средства для создания скриншотов .

Библиотека Pillow в операционной системе Windows позволяет сделать снимок экрана (скриншот) . Можно получить как полную копию экрана, так и копию определенной прямоугольной области. Для получения копии экрана предназначена функция grab() из модуля ImageGrab . Формат функции:

grab([Координаты прямоугольной области>])

Координаты указываются в виде кортежа из четырех элементов — координат левого верхнего и правого нижнего углов прямоугольника. Если параметр не указан, возвращается полная копия экрана в виде объекта изображения в режиме RGB . Пример создания скриншотов приведен ниже.

|>>> from PIL import Image, ImageGrab >>> img = ImageGrab.grab() >>> img.save ("screen.bmp", "BMP") >>> img.mode 'RGB' >>> img2 = ImageGrab.grab ( (100, 100, 300, 300) ) >>> img2.save("screen2.bmp", "BMP") >>> img2.size (200, 200) 

Со следующего шага мы начнем рассматривать взаимодействие с Интернетом .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *