Mehrpunkt-Farbabgleich auf dem Bildschirm (screen.is_colors)
Deklaration
passt = screen.is_colors({
[max_miss = maximal_erlaubte_Nichttreffer,]
[xy_tolerance = Koordinatentoleranz,]
[csim_algorithm = Farbähnlichkeitsalgorithmus,]
{x*, y*, Farbe*},
{x*, y*, Farbe*},
...
}[, Farbähnlichkeit])
Parameter
-
Maximal erlaubte Nichttreffer
Ganzzahl; optional, maximal zulässige Anzahl nicht übereinstimmender Punkte, standardmäßig 0, sodass nur ein vollständiger Treffer gilt -
Koordinatentoleranz (unterstützt ab Version 20250228)
Ganzzahl; optional, zulässige Koordinatenabweichung. Punkte außerhalb dieses Werts gelten als Nichttreffer; standardmäßig 0 (Koordinaten müssen vollständig übereinstimmen) -
Farbähnlichkeitsalgorithmus (unterstützt ab Version 20250302)
Ganzzahl; optional, gibt den Farbähnlichkeitsalgorithmus an, standardmäßig 0Farbähnlichkeitsalgorithmus
0 ist der XXT-Standardalgorithmus: steiler Gradient, die Ähnlichkeit sinkt bei Abweichungen schnell.
1 ist der Manhattan-Algorithmus mit sanftem Gradient.
2 ist der euklidische Algorithmus mit sanftem Gradient. -
X-Koordinate*, Y-Koordinate*
Ganzzahlen; Koordinaten eines Punkts -
Farbe*
Ganzzahl; Farbwert, mit dem dieser Punkt übereinstimmen muss -
Farbähnlichkeit
Ganzzahl; optional, erforderliche Farbähnlichkeit, Bereich 1~100, standardmäßig 100
Rückgabewert
- Übereinstimmung
Boolescher Wert; true, wenn die Farben aller Punkte übereinstimmen, andernfalls false
Beschreibung
Gleicht die Farben mehrerer Punkte auf dem Bildschirm ab.
Die Koordinatenparameter dieser Funktion werden vom durchscreen.initinitialisierten Koordinatensystem beeinflusst.
Beispiel
if screen.is_colors({
{ 509, 488, 0xec1c23}, -- Farbe an (509, 488) hat mindestens 90 % Ähnlichkeit mit 0xec1c23
{ 514, 470, 0x00adee}, -- Gleichzeitig hat die Farbe an (514, 470) mindestens 90 % Ähnlichkeit mit 0x00adee
{ 508, 478, 0xffc823}, -- Gleichzeitig hat die Farbe an (508, 478) mindestens 90 % Ähnlichkeit mit 0xffc823
{ 511, 454, 0xa78217}, -- Gleichzeitig hat die Farbe an (511, 454) mindestens 90 % Ähnlichkeit mit 0xa78217
{ 521, 433, 0xd0d2d2}, -- Gleichzeitig hat die Farbe an (521, 433) mindestens 90 % Ähnlichkeit mit 0xd0d2d2
}, 90) then -- stimmt überein
sys.alert("匹配!")
else
sys.alert("不匹配!")
end
Hinweis: Der obige Code verwendet die Funktion sys.alert, die nicht zu diesem Kapitel gehört.