Как сравнить пиксель с определенным цветом на Python
Хотел сделать бота для игры в динозаврика Google. По идее он должен брать пиксель по определенным координатам и сравнивать его с цветом RGB. Ну например пиксель по координатам x=500, y=500 и сравнивает если этот пиксель цвета 255, 255, 255 по RGB, то нажимает пробел. Не могу понять как сравнивать пиксель с определенным цветом
Ответы (1 шт):
Автор решения: BlueScreen
→ Ссылка
Вот функция возвращает цвет пикселя по координатам X Y:
import ctypes
def pixel(x, y):
hdc = ctypes.windll.user32.GetDC(0)
color = ctypes.windll.gdi32.GetPixel(hdc, x, y)
# color is in the format 0xbbggrr https://msdn.microsoft.com/en-us/library/windows/desktop/dd183449(v=vs.85).aspx
r = color % 256
g = (color // 256) % 256
b = color // (256 ** 2)
ctypes.windll.user32.ReleaseDC(0, hdc)
return (r, g, b)
Для того что бы стравинвать значения в Питоне используют оператор ==. Он возвращает True (Истина) если значение слева = значению справа и False в противном случае (значение слева не равно значению справа). Таким образом пишем ещё 1 фукнцию:
is_this_pixel_black(x, y):
return (255, 255, 255) == pixel(x, y)