Перейти к основному содержимому

Сопоставление цветов нескольких точек экрана (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.