如何使用 PyAutoGUI 检测 RGB 值
How to use PyAutoGUI to detect RGB values
我正在尝试构建一个仅点击特定颜色的小型机器人。我相信 pyautogui.displayMousePosition()
应该显示鼠标的位置以及鼠标所在像素的 RGB 值。相反,我只看到位置值(如屏幕截图所示)。这可能是 MacOS 的问题吗?
No RGB values being displayed on python console - screenshot
我也很想知道是否有其他方法可以解决这个问题。
displayMousePosition()
是错误的函数,除了验证库是否正常运行外,几乎可以用于任何其他事情。它没有 return 任何值,它所做的只是将信息打印到控制台。我强烈建议浏览 pyautogui's documentation 以了解有关库提供的功能的更多信息。
假设您知道屏幕的 x 和 y 坐标,您想要获取屏幕的颜色,您需要截取屏幕截图并检查适当位置的颜色值。
im = pyautogui.screenshot()
px = im.getpixel((x, y))
有一个包装器可以让您从您也可以使用的坐标对中获取像素信息。
px = pyautogui.pixel((x, y))
不知道为什么,但我在 Reddit 上发现了这个:
确保在 .py 文件中包含此代码:
import sys
sys.platform = '_'
它对我来说非常有效:
Python3.9.1
PyAutoGUI==0.9.52
MacOS 11.2.3 (20D91)
检查鼠标点像素的代码如下:
import pyautogui
import time
while 1:
x, y = pyautogui.position()
r,g,b = pyautogui.pixel(x, y)
print(r,g,b)
#time.sleep(0.1)
我正在尝试构建一个仅点击特定颜色的小型机器人。我相信 pyautogui.displayMousePosition()
应该显示鼠标的位置以及鼠标所在像素的 RGB 值。相反,我只看到位置值(如屏幕截图所示)。这可能是 MacOS 的问题吗?
No RGB values being displayed on python console - screenshot
我也很想知道是否有其他方法可以解决这个问题。
displayMousePosition()
是错误的函数,除了验证库是否正常运行外,几乎可以用于任何其他事情。它没有 return 任何值,它所做的只是将信息打印到控制台。我强烈建议浏览 pyautogui's documentation 以了解有关库提供的功能的更多信息。
假设您知道屏幕的 x 和 y 坐标,您想要获取屏幕的颜色,您需要截取屏幕截图并检查适当位置的颜色值。
im = pyautogui.screenshot()
px = im.getpixel((x, y))
有一个包装器可以让您从您也可以使用的坐标对中获取像素信息。
px = pyautogui.pixel((x, y))
不知道为什么,但我在 Reddit 上发现了这个:
确保在 .py 文件中包含此代码:
import sys
sys.platform = '_'
它对我来说非常有效:
Python3.9.1
PyAutoGUI==0.9.52
MacOS 11.2.3 (20D91)
检查鼠标点像素的代码如下:
import pyautogui
import time
while 1:
x, y = pyautogui.position()
r,g,b = pyautogui.pixel(x, y)
print(r,g,b)
#time.sleep(0.1)