Моя программа пытается найти определенный цвет на экране, но возвращает ошибку кортежа [Python3] - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь завершить эту игру, используя python, я новичок, может кто-нибудь объяснить, почему мой код не работает, пожалуйста?

Это часть кода:

 box = (x_pad+1, y_pad+1, x_pad+731, y_pad+550)
    im = ImageGrab.grab(bbox=box)
    im.save('/Users/CENSORED/full_snap__.png')
    colour = (58, 15, 8)
    img = Image.open('/Users/CENSORED/full_snap__.png')
    rgb_img = img.convert('RGB')
    for x in range(rgb_img.size()[0]):
        for y in range(rgb_img.size()[1]):
            r, g, b = rgb_img.getpixel((x, y))
            if (r,g,b) == colour:
                print('found image at {x}, {y}')
                pyautogui.click(x,y)
                time.sleep(.1)

Это ошибка:

 File "/Users/CENSORED/Documents/Testing/gamecrusher.py", line 32, in <module>
    for x in range(rgb_img.size()[0]):
TypeError: 'tuple' object is not callable

1 Ответ

0 голосов
/ 01 марта 2019

Проблема в том, что rgb_img.size - это кортеж, а не вызываемый метод, поэтому после него не ставьте скобки.Вы хотите:

for x in range(rgb_img.size[0]):

Аналогично для y.

...