Нужна помощь в написании скрипта? Close

Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.

ВконтактеГруппа Вконтакте Электронная почтаЭлектронная почта Личная страницаСимаков Яков ВК
home icon Все разделы
comunity icon Нужна помощь?

PixelGetColor -Autohotkey

Получает цвет пикселя по указанным координатам X и Y.

PixelGetColor, OutputVar, X, Y[, Mode]

Параметры

OutputVar Имя переменной, в которой хранится идентификатор цвета в шестнадцатеричном сине-зелено-красном (BGR) формате. Например, фиолетовый цвет определяется как 0x800080, потому что он имеет интенсивность 80 для своих синих и красных компонентов, но интенсивность 00 для его зеленых компонентов.
X, Y Координаты X и Y пикселя, которые могут быть выражениями. Координаты относятся к активному окну, если CoordMode не использовался, чтобы изменить это.
Mode Этот параметр может содержать ноль или более следующих слов. Если присутствует более одного слова, отделяйте каждое от следующего пробелом (например, Alt RGB). - Alt [v1.0.43.10 +]: использует альтернативный метод для получения цвета, который следует использовать, когда обычный метод создает недопустимые или неточные цвета для определенного типа окна. Этот метод примерно на 10% медленнее, чем обычный метод. - Slow [v1.0.43.10 +]: использует более сложный метод для получения цвета, который может работать в определенных полноэкранных приложениях, когда другие методы не работают. Этот метод примерно в три раза медленнее, чем обычный метод. Примечание. Slow имеет приоритет над Alt, поэтому нет необходимости указывать Alt в этом случае. - RGB: получает цвет в формате RGB или BGR. Другими словами, красный и синий компоненты поменялись местами. Это полезно для получения цветов, совместимых с WinSet, Gui, Progress и SplashImage.

Обработка ошибок

Пиксель должен быть видимым; другими словами, невозможно получить цвет пикселя окна, скрытого за другим окном. Напротив, пиксели под курсором мыши обычно могут быть обнаружены. Исключением являются игровые курсоры, которые в большинстве случаев будут скрывать любые пиксели под ними.

Используйте Window Spy (доступно в меню иконки в трее) или пример в нижней части этой страницы, чтобы определить цвета в настоящее время на экране.

Известные ограничения:

- Окно, которое является частично прозрачным или имеет один из своих цветов, помеченных как невидимые (TransColor), обычно дает цвета для окна позади себя, а не его собственного.

- PixelGetColor может не давать точных результатов для определенных приложений. Если это произойдет, попробуйте указать слово Alt или Slow в последнем параметре.

Примеры

^!z:: ; Control+Alt+Z MouseGetPos, MouseX, MouseY ; определяем координаты мыши PixelGetColor, color, %MouseX%, %MouseY% ; MsgBox Цвет пикселя на позиции курсора - %color%. return
Перевод: Артемий Галян