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



我正在使用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()

我尝试更改xyrange值,但这改变了打印的方式。我是初学者,我很抱歉这个愚蠢的问题,但我已经在这个问题上呆了很长时间,无法弄清楚。目前,它只是从屏幕左上角获取像素。我想在 1920x1080 屏幕上捕获单个中间像素。

谢谢。

未经测试,但像这样的东西,你指定一个边界框只有 1x1 像素:

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

如果您检查它,它会给你这个:

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

相关内容

  • 没有找到相关文章

最新更新