【发布时间】:2021-03-22 21:45:59
【问题描述】:
我正在使用带有 pyautogui==0.9.52 的 python 3.9,我正在尝试获取屏幕上某个像素的 rgb 值。结果类似于,如果我有一个红色像素的坐标,它会将 rgb 值返回为(30,30,30)。
如果我使用displayMousePosition(),我首先必须运行sys.platform = '_'才能得到一个rgb值,即使那样它仍然是错误的rgb值。
如果我使用pyautogui.pixel(x,y),它也会返回错误的 rgb 值。它可能与不兼容的版本有关吗?有人知道如何解决这个问题吗?
【问题讨论】:
-
displayMousePosition听起来像是返回位置,而不是像素值。该功能在哪里定义/记录?您获得的像素值与您期望的值相比是多少。 -
@Lburris12 你不是在找
image = pyautogui.screenshot()x, y = pyautogui.position()rgb = image.getpixel((x, y))吗? -
@RandomDavis 如果我使用 displayMousePosition() 它会在我移动鼠标时为我提供更新的输出。输出由鼠标的 x 和 y 坐标以及鼠标所在像素的 RGB 值组成。当我使用它时,假设我正在尝试获取橙色圆圈的值,我将鼠标悬停在橙色圆圈上,但 RGB 值返回类似于 (30, 30, 30) 的值。
-
@Guimute 我也试过这个,但这也会返回一个错误的 RGB 值。
-
我可能需要知道的一件事是,当我打开 python shell 并导入 pyautogui 时,它会说:“用户警告:rubicon.objc.ctypes_patch 仅在 Python 3.4 到 3.8 中测试过。你是使用 Python 3.9.0。最有可能的事情会正常工作”。如果这是问题,有人知道我如何在 python 3.9 上正确使用它吗?
标签: python rgb pixel pyautogui