我的程序试图在屏幕上找到特定的颜色,但返回元组错误[Python3]



我正在尝试使用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

问题是rgb_img.size是元组,而不是可呼叫的方法,因此您不会在其后放置括号。您想要:

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

同样适用于y

最新更新