Saltar al contenido principal

Coincidencia de colores en varios puntos de la pantalla (screen.is_colors)

Declaración​

coincide = screen.is_colors({
[max_miss = máximo_de_fallos,]
[xy_tolerance = tolerancia_de_coordenadas,]
[csim_algorithm = algoritmo_de_similitud_de_color,]
{coordenada_x*, coordenada_y*, color*},
{coordenada_x*, coordenada_y*, color*},
...
}[, similitud_de_color])

Parámetros​

  • máximo de fallos
    Tipo entero, parámetro opcional; cantidad máxima de puntos que pueden no coincidir. El valor predeterminado es 0, por lo que deben coincidir todos los puntos

  • tolerancia de coordenadas (compatible desde la versión 20250228)
    Tipo entero, parámetro opcional; desplazamiento permitido de las coordenadas. Los puntos que excedan este valor se consideran fallos; el valor predeterminado es 0 (las coordenadas deben coincidir exactamente)

  • algoritmo de similitud de color (compatible desde la versión 20250302)
    Tipo entero, parámetro opcional; especifica el algoritmo de similitud de color. El valor predeterminado es 0

    Algoritmos de similitud de color
    0 es el algoritmo predeterminado de XXT: gradiente pronunciado y la similitud disminuye rápidamente con la diferencia
    1 es el algoritmo de Manhattan: gradiente suave
    2 es el algoritmo euclídeo: gradiente suave
  • coordenada x*, coordenada y*
    Tipo entero, coordenadas de uno de los puntos

  • color*
    Tipo entero, valor de color que debe coincidir en uno de los puntos

  • similitud de color
    Tipo entero, parámetro opcional; similitud requerida del color, en el intervalo 1~100; el valor predeterminado es 100

Valores devueltos​

  • coincide
    Tipo booleano; devuelve true si coinciden los colores de todos los puntos y false en caso contrario

Descripción​

Comprueba los colores de varios puntos de la pantalla
Los parámetros de coordenadas de esta función están condicionados por el sistema de coordenadas inicializado mediante screen.init

Ejemplo​

if screen.is_colors({
{ 509, 488, 0xec1c23}, -- Si el color de (509, 488) tiene una similitud superior al 90 % con 0xec1c23
{ 514, 470, 0x00adee}, -- Y el color de (514, 470) tiene una similitud superior al 90 % con 0x00adee
{ 508, 478, 0xffc823}, -- Y el color de (508, 478) tiene una similitud superior al 90 % con 0xffc823
{ 511, 454, 0xa78217}, -- Y el color de (511, 454) tiene una similitud superior al 90 % con 0xa78217
{ 521, 433, 0xd0d2d2}, -- Y el color de (521, 433) tiene una similitud superior al 90 % con 0xd0d2d2
}, 90) then -- Entonces coincide
sys.alert("匹配!")
else
sys.alert("不匹配!")
end

Nota: el código anterior usa la función sys.alert, que no pertenece a este capítulo.