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.