如何解决pyautogui.position的返回值与pyautogui.locateOnScreen的返回值是否有区别?
我想知道屏幕上特定窗口中的像素是否具有特定颜色。因此,我使用了pyautogui模块的pixelMatchesColor()
函数。但是,为了考虑到感兴趣窗口位置的变化(我们称其为win1),我截取了屏幕截图,并裁剪了一部分“ win1”,该部分从未使用pyautogui.screenshot()
函数进行更改。然后,将pyautogui.locateOnScreen()
函数添加到我的主代码中,以获得“ win1”的坐标。使用感兴趣的像素(“ pix1”)相对于“ win1”的相对坐标以及“ win1”的绝对坐标,我能够找出“ pix1”的绝对坐标。然后将这些坐标传递给pixelMatchesColor()
功能。但是,它返回了以下错误https://prnt.sc/up67cp。稍后,当我尝试将pyautogui.position()
函数的返回值传递给pixelMatchesColor()
时,我没有遇到任何错误,并获得了预期的True或False值。
我检查了一下文档,发现position()
和pixelMatchesColor()
都输出了元组。为什么为什么只对其中一个发生错误。
这是我的代码段:
`尝试:
(X,Y,Z,A) = py.locateOnScreen("health bar.png",confidence = 0.6)
(A,B) = py.position()
t = py.pixelMatchesColor(A-4,B+3,(124,7,7),tolerance = 45)#Returns True or False
s = py.pixelMatchesColor(X + 328,Y - 250,tolerance = 45)# returns error
print(s)
print(t)
if s == True:
PressKey(0x100)
time.sleep(0.1)
ReleaseKey(0x100)
except TypeError:
time.sleep(2)
continue`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。