如何解决如果我有 RGB,如何获取像素的坐标?
所以,我想检查屏幕的某个区域是否有一个像素,RGB 为“0,158,187”,如果有,我想获取它的坐标,以便我可以点击那里。
这是我尝试过的:
im = ImageGrab.grab(bBox=(268,118,1150,866))
x = 268
y = 118
while True:
x = x + 5
xy = (x,y)
if im.getpixel(xy) == (0,187):
pyautogui.click(x,y)
break
if x >= 1150:
x = 268
y = y + 5
if y >= 866:
sys.exit()
但是,我一直收到错误
"IndexError: image index out of range"
即使我在达到 1150 时不断重置 X 范围并在 Y 达到 866 时结束程序,因为没有必要继续执行它们。
解决方法
您在调用 getpixel 之前递增 x,因此当 x 大于或等于 1150 时,您首先调用 getpixel,然后测试 x 以重置范围。
我认为这样做更合适:
while True:
xy = (x,y)
if im.getpixel(xy) == (0,158,187):
pyautogui.click(x,y)
break
x = x + 5
if x >= 1150:
x = 268
y = y + 5
if y >= 866:
sys.exit()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。