Укажите, откуда ImageGrab получает пиксельный цвет - PullRequest
0 голосов
/ 24 января 2019

Я использую ImageGrab из PIL, чтобы получить значение 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()

Я попытался изменить значения range для x и y, но это изменило способ печати. Я новичок, и я прошу прощения за глупый вопрос, но я занимался этим довольно долго и не могу понять это. В настоящее время он просто получает пиксель в левом верхнем углу моего экрана. Я хотел бы захватить один средний пиксель на моем экране 1920x1080.

Спасибо.

1 Ответ

0 голосов
/ 24 января 2019

Не проверено, но что-то вроде этого, где вы указываете ограничивающий прямоугольник всего 1x1 пиксель:

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

, который даст вам это, если вы проверите его:

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