#python #macos #colors #mouse #pyautogui
#python #macos #Цвет #мышь #pyautogui
Вопрос:
Я пытаюсь создать небольшого бота, который нажимает только на определенные цвета. Я считаю pyautogui.displayMousePosition()
, что должно отображаться положение моей мыши, а также значения RGB пикселя, на котором находится мышь. Вместо этого я вижу только позиционные значения (видно на скриншоте). Может ли это быть проблемой с macOS?
Значения RGB не отображаются на консоли python — скриншот
Также хотелось бы узнать, есть ли альтернативный способ, которым я могу это сделать.
Комментарии:
1. Я не могу найти
displayMousePosition()
функцию в документах, какую версию вы используете?
Ответ №1:
displayMousePosition()
это неправильная функция, которую можно использовать практически для чего угодно, кроме проверки правильности функционирования библиотеки. Он не возвращает никаких значений, все, что он делает, это выводит информацию на консоль. Я настоятельно рекомендую просмотреть документацию pyautogui, чтобы узнать больше о функциональности, предоставляемой библиотекой.
Предполагая, что вы знаете координаты экрана x и y, для которых вы хотите получить цвет, вы захотите сделать снимок экрана и проверить значения цвета в соответствующем месте.
im = pyautogui.screenshot()
px = im.getpixel((x, y))
Существует оболочка, которая позволяет вам получать информацию о пикселях из пары координат, которую вы также можете использовать.
px = pyautogui.pixel((x, y))
Комментарии:
1. последний пример должен быть px = pyautogui.pixel(x, y)
Ответ №2:
Вот код для проверки пикселя точки мыши:
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)
Ответ №3:
Если вам не удалось получить значение RGB пикселя,
вы можете ввести координату x y в следующее, чтобы получить цветовой код.
import pyautogui
PIXEL = pyautogui.screenshot(region=(x, y, 1, 1))
PIXEL.getcolors()