Я создаю программу для рисования изображений на этом сайте, используя PyAutoGui для перемещения мыши, щелчка мышью и проверки некоторых цветов пикселей на экране.Вы можете увидеть мои тесты в левом верхнем углу холста.Моя программа в значительной степени зависит от функции pyautogui.pixelMatchesColor (), и в определенные моменты моя программа, казалось, ломалась.После попытки найти наименьший набор кода, который привел бы к той же самой проблеме, я получил следующее:
import pyautogui
no = 0
while True:
if pyautogui.pixelMatchesColor(1750, 180, (255, 255, -1)):
break
num += 1
print(num)
Это, как вы уже догадались, вывел:
10000
проблема здесь в том, что после того, как вы использовали функцию более 10 000 раз за один прогон, она перестает работать и возвращает только:
(255, 255, -1)
Я посмотрел вокруг, но нигде не могу найти что-либо по ограничению использования10 000 для функции pyautogui.pixelMatchesColor () (кстати, этот предел также применяется к функции pyautogui.pixel ()).Это сломало мою программу, поэтому, если у вас есть какая-либо информация или способ обойти эту проблему, пожалуйста, дайте мне знать.Спасибо!
РЕДАКТИРОВАТЬ: После изучения кода pyautogui выясняется, что он использует ctypes для управления мышью и PIL для экранных утилит.Я попытаюсь использовать их вместо pyautogui для более прямого кода, чтобы увидеть, если он имеет значение.