сделать полный скриншот python - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь сделать снимок экрана для своих экранов.

Мне известна функция

pyautogui.screenshot() 

Проблема с этой функцией заключается в том, что она может сделать снимок экрана только для одного экрана. Я пытаюсь сделать полный скриншот для всех доступных экранов (обычно два). Но, похоже, это не сработает.

Ответы [ 3 ]

1 голос
/ 26 февраля 2020

Я хотел бы предложить вам использовать Desktopmagi c, Python Library.

0 голосов
/ 08 марта 2020

Использование библиотеки pyscreenshot помогло мне, я сделал скриншот всех экранов.

Источник: https://pypi.org/project/pyscreenshot/

#-- include('examples/showgrabfullscreen.py') --#
import pyscreenshot as ImageGrab

if __name__ == '__main__':

    # grab fullscreen
    im = ImageGrab.grab()

    # save image file
    im.save('screenshot.png')

    # show image in a window
    im.show()
#-#

Если вы не хотите чтобы открыть GUI, просто прокомментируйте строку im.show().

0 голосов
/ 08 марта 2020

Я бы предложил другой модуль, если вы не возражаете: MSS (вам не нужен PIL или какой-либо другой модуль, только Python; он кроссплатформенный):

from mss import mss

with mss() as sct:
    sct.shot(mon=-1, output="fullscreen.png")

документация пытается объяснить больше вещей, если вы заинтересованы.

...