使用python拍摄特定空间的屏幕截图

时间:2020-08-31 05:57:57

标签: python pynput

我正在尝试使用python截取特定区域的屏幕截图。

我写了这段代码:

import pyscreenshot
from pynput.mouse import Listener
x=1
y=1

def on_click(x1, y1, button, pressed):
    global x,y
    x = x1
    y = y1

def on_release(x2,y2, button, pressed):
    global x,y
    im = pyscreenshot.grab(x,y,x2,y2)
    im.save("hello.png")

#Collect events until released
with Listener(
        on_click=on_click,
        on_release=on_release) as listener:
    listener.join()

这里的问题是它什么也没输出。请帮助

1 个答案:

答案 0 :(得分:0)

我为您编写了代码。在我这边效果很好。运行我的代码后,请告诉我您的意见。

import pyscreenshot
from pynput.mouse import Listener, Button

global x0, y0


def on_click(x1, y1, button, pressed):
    global x0, y0

    if button == Button.left and pressed:
        x0, y0 = x1, y1

    if button == Button.left and not pressed:
        try:
            im = pyscreenshot.grab(bbox=(x0, y0, x1, y1))
            im.save("hello.png")
            print('Screenshot was taken.')
            return False
        except:
            pass

    return True

# Collect events until released
with Listener(
        on_click=on_click) as listener:
    try:
        listener.join()
    except:
        pass