设置ImageGrab从何处获取像素颜色

时间:2019-01-24 17:29:51

标签: python coordinates python-imaging-library

我正在使用PIL的ImageGrab来获取屏幕上特定像素的RGB值。我在理解设置x和y坐标的位置时遇到了麻烦。到目前为止,这是模式代码:

from PIL import ImageGrab
import threading

def getcol():
    global pxcolor
    threading.Timer(0.5, getcol).start()
    pixel=ImageGrab.grab().load()
    for y in range(0,1,1):
        for x in range(0,1,1):
            pxcolor=pixel[x,y]
            print(pxcolor)

getcol()

我尝试更改rangex的{​​{1}}值,但这改变了它的打印方式。我是一个初学者,对这个愚蠢的问题感到抱歉,但是我已经在这个问题上待了很长时间了,无法解决。目前,它只是从屏幕左上方获取像素。我想捕获1920x1080屏幕上的单个中间像素。

谢谢。

1 个答案:

答案 0 :(得分:1)

未经测试,但是类似这样的情况,您只需指定1x1像素的bounding box

pixel=ImageGrab.grab((960,540,961,541)) 

如果您对其进行检查,它将为您提供:

<PIL.Image.Image image mode=RGBA size=1x1 at 0x120668748>