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