Correspondência de cores em vários pontos da tela (screen.is_colors)
Declaração
há_correspondência = screen.is_colors({
[max_miss = máximo_de_pontos_sem_correspondência,]
[xy_tolerance = tolerância_de_coordenadas,]
[csim_algorithm = algoritmo_de_similaridade_de_cor,]
{coordenada_x*, coordenada_y*, cor*},
{coordenada_x*, coordenada_y*, cor*},
...
}[, similaridade_de_cor])
Parâmetros
-
máximo de pontos sem correspondência
Inteiro opcional; quantidade máxima de pontos sem correspondência permitida. O padrão é 0, ou seja, todos os pontos devem corresponder para haver correspondência. -
tolerância de coordenadas (compatível a partir da versão 20250228)
Inteiro opcional; deslocamento de coordenadas permitido. Pontos além desse valor serão considerados sem correspondência. O padrão é 0 (as coordenadas devem corresponder exatamente). -
algoritmo de similaridade de cor (compatível a partir da versão 20250302)
Inteiro opcional que especifica o algoritmo de similaridade de cor; o padrão é 0.Algoritmo de similaridade de cor
0 é o algoritmo padrão do XXT; o gradiente é acentuado e a diferença reduz rapidamente a similaridade
1 é o algoritmo de Manhattan; o gradiente é suave
2 é o algoritmo euclidiano; o gradiente é suave -
coordenada_x*, coordenada_y*
Inteiros que representam as coordenadas de um ponto. -
cor*
Inteiro que representa o valor da cor a ser correspondida nesse ponto. -
similaridade de cor
Inteiro opcional que representa a similaridade de cor necessária, no intervalo de 1 a 100; o padrão é 100.
Valor retornado
- há correspondência
Booleano; retorna true quando as cores de todos os pontos correspondem e false caso contrário.
Observações
Compara as cores de vários pontos da tela.
As coordenadas usadas por esta função são afetadas pelo sistema inicializado porscreen.init.
Exemplo
if screen.is_colors({
{ 509, 488, 0xec1c23}, -- se a cor da coordenada (509, 488) tiver mais de 90% de similaridade com 0xec1c23
{ 514, 470, 0x00adee}, -- ao mesmo tempo, se a cor da coordenada (514, 470) tiver mais de 90% de similaridade com 0x00adee
{ 508, 478, 0xffc823}, -- ao mesmo tempo, se a cor da coordenada (508, 478) tiver mais de 90% de similaridade com 0xffc823
{ 511, 454, 0xa78217}, -- ao mesmo tempo, se a cor da coordenada (511, 454) tiver mais de 90% de similaridade com 0xa78217
{ 521, 433, 0xd0d2d2}, -- ao mesmo tempo, se a cor da coordenada (521, 433) tiver mais de 90% de similaridade com 0xd0d2d2
}, 90) then -- há correspondência
sys.alert("匹配!")
else
sys.alert("不匹配!")
end
Observação: o código acima usa a função sys.alert, que não pertence a este capítulo.