Сопоставление цветов нескольких точек экрана (screen.is_colors)
Объявление
соответствует = screen.is_colors({
[max_miss = максимально допустимое число промахов,]
[xy_tolerance = допуск координат,]
[csim_algorithm = алгоритм цветового сходства,]
{координата_x*, координата_y*, цвет*},
{координата_x*, координата_y*, цвет*},
...
}[, цветовое_сходство])
Параметры
-
Максимально допустимое число промахов
Целое число, необязательный параметр: максимальное количество несовпавших точек; по умолчанию 0, то есть для совпадения должны совпасть все точки. -
Допуск координат (поддерживается начиная с версии 20250228)
Целое число, необязательный параметр: допустимое смещение координат. Точки за пределами этого значения считаются несовпавшими; по умолчанию 0 (координаты должны совпадать точно). -
Алгоритм цветового сходства (поддерживается начиная с версии 20250302)
Целое число, необязательный параметр, задающий алгоритм цветового сходства; по умолчанию 0.Алгоритм цветового сходства
0 — алгоритм XXT по умолчанию: крутой градиент, сходство быстро уменьшается с ростом разницы
1 — манхэттенский алгоритм, плавный градиент
2 — евклидов алгоритм, плавный градиент -
Координата x*, координата y*
Целые числа, задающие координаты точки. -
Цвет*
Целое число, задающее цвет, которому должна соответствовать точка. -
Цветовое сходство
Целое число, необязательный параметр, задающий требуемое цветовое сходство; диапазон 1~100, по умолчанию 100.
Возвращаемое значение
- Соответствие
Логическое значение:true, если цвета всех точек совпадают, иначеfalse.
Описание
Сопоставляет цвета нескольких точек на экране.
Система координат параметров этой функции зависит от системы, заданной функциейscreen.init.
Пример
if screen.is_colors({
{ 509, 488, 0xec1c23}, -- Цвет в точке (509, 488) имеет сходство с 0xec1c23 не менее 90%
{ 514, 470, 0x00adee}, -- Цвет в точке (514, 470) одновременно имеет сходство с 0x00adee не менее 90%
{ 508, 478, 0xffc823}, -- Цвет в точке (508, 478) одновременно имеет сходство с 0xffc823 не менее 90%
{ 511, 454, 0xa78217}, -- Цвет в точке (511, 454) одновременно имеет сходство с 0xa78217 не менее 90%
{ 521, 433, 0xd0d2d2}, -- Цвет в точке (521, 433) одновременно имеет сходство с 0xd0d2d2 не менее 90%
}, 90) then -- соответствие найдено
sys.alert("匹配!")
else
sys.alert("不匹配!")
end
Примечание: приведённый выше код использует функцию не из этой главы — sys.alert.