如何使用PyAutoGUI检测RGB值

问题描述

我正在尝试构建一个仅点击某些颜色的小型机器人。我相信pyautogui.displayMousePosition()应该显示鼠标的位置以及鼠标所在像素的RGB值。相反,我只看到位置值(在屏幕截图中看到)。这可能是MacOS的问题吗?

No RGB values being displayed on python console - screenshot

我也很想知道我是否还有其他方法可以解决这个问题。

解决方法

displayMousePosition()是错误的函数,除了验证库是否正常运行外,几乎不能用于其他任何事情。它不返回任何值,只是将信息打印到控制台。我强烈建议浏览pyautogui's documentation以了解有关该库提供的功能的更多信息。

假设您知道屏幕的x和y坐标,则希望获取屏幕的颜色,然后截取屏幕截图并在适当的位置检查颜色值。

im = pyautogui.screenshot()
px = im.getpixel((x,y))

有一个包装器,可让您从也可以使用的坐标对中获取像素信息。

px = pyautogui.pixel((x,y))
,

不知道为什么,但我在 Reddit 上发现了这个:

确保在 .py 文件中包含此代码:

import sys 
sys.platform = '_'

它非常适合我:
Python 3.9.1
PyAutoGUI==0.9.52
MacOS 11.2.3 (20D91)