Aller au contenu principal

Comparer les couleurs de plusieurs points de l’écran (screen.is_colors)

Déclaration

correspondance = screen.is_colors({
[max_miss = nombre maximal de points manqués,]
[xy_tolerance = tolérance de coordonnées,]
[csim_algorithm = algorithme de similarité des couleurs,]
{coordonnée horizontale\*, coordonnée verticale\*, couleur\*},
{coordonnée horizontale\*, coordonnée verticale\*, couleur\*},
...
}[, similarité des couleurs])

Paramètres

  • nombre maximal de points manqués
    Entier, paramètre facultatif, nombre maximal de points qui peuvent ne pas correspondre ; 0 par défaut, ce qui exige la correspondance de tous les points

  • tolérance de coordonnées (prise en charge depuis la version 20250228)
    Entier, décalage de coordonnées autorisé ; les points qui dépassent cette valeur sont considérés comme manqués ; 0 par défaut (les coordonnées doivent correspondre exactement)

  • algorithme de similarité des couleurs (pris en charge depuis la version 20250302)
    Entier, paramètre facultatif, algorithme de similarité des couleurs à utiliser, 0 par défaut

    Algorithme de similarité des couleurs
    0 pour l’algorithme par défaut de XXT, gradient abrupt, la différence fait rapidement baisser la similarité
    1 pour l’algorithme de Manhattan, gradient régulier
    2 pour l’algorithme euclidien, gradient régulier
  • coordonnée horizontale*, coordonnée verticale*
    Entiers, coordonnées d’un point donné

  • couleur*
    Entier, valeur de couleur à comparer pour le point donné

  • similarité des couleurs
    Entier, paramètre facultatif, similarité requise de la couleur, de 1 à 100, 100 par défaut

Valeur de retour

  • correspondance
    Booléen, renvoie true si les couleurs de tous les points correspondent, sinon false

Description

Compare les couleurs de plusieurs points de l’écran
Les paramètres de coordonnées de cette fonction dépendent du système de coordonnées initialisé par screen.init

Exemple

if screen.is_colors({
{ 509, 488, 0xec1c23}, -- Si la couleur du point (509, 488) a une similarité supérieure à 90 % avec 0xec1c23
{ 514, 470, 0x00adee}, -- Et si la couleur du point (514, 470) a une similarité supérieure à 90 % avec 0x00adee
{ 508, 478, 0xffc823}, -- Et si la couleur du point (508, 478) a une similarité supérieure à 90 % avec 0xffc823
{ 511, 454, 0xa78217}, -- Et si la couleur du point (511, 454) a une similarité supérieure à 90 % avec 0xa78217
{ 521, 433, 0xd0d2d2}, -- Et si la couleur du point (521, 433) a une similarité supérieure à 90 % avec 0xd0d2d2
}, 90) then -- Alors la correspondance est établie
sys.alert("匹配!")
else
sys.alert("不匹配!")
end

Remarque : le code ci-dessus utilise la fonction hors de ce chapitre sys.alert