Zum Hauptinhalt springen

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 0

    Farbä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 durch screen.init initialisierten 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.