画面上の複数点の色を照合 (screen.is_colors)
宣言
一致するか = screen.is_colors({
[max_miss = 許容する未一致点の最大数,]
[xy_tolerance = 座標許容差,]
[csim_algorithm = 色類似度アルゴリズム,]
{X座標*, Y座標*, 色*},
{X座標*, Y座標*, 色*},
...
}[, 色の類似度])
パラメータ
-
許容する未一致点の最大数
整数。省略可能です。許容する不一致点の最大数を指定します。デフォルトは 0 で、すべての点が一致した場合にのみ照合が成立します -
座標許容差(バージョン 20250228 以降で対応)
整数。省略可能です。許容する座標のずれを指定します。この値を超えてずれた点は未一致と見なされます。デフォルトは 0(座標が完全に一致する必要があります)です -
色類似度アルゴリズム(バージョン 20250302 以降で対応)
整数。省略可能です。色類似度アルゴリズムを指定します。デフォルトは 0 です色類似度アルゴリズム
0 は XXT のデフォルトアルゴリズム。勾配が急で、差が大きくなると類似度が急速に低下する
1 はマンハッタンアルゴリズム。勾配は滑らか
2 はユークリッドアルゴリズム。勾配は滑らか -
横座標*, 縦座標*
整数。対象となる点の座標を指定します -
色*
整数。対象となる点で照合する色の値を指定します -
色の類似度
整数。省略可能です。必要な色の類似度を指定します。値の範囲は 1~100、デフォルトは 100 です
戻り値
- 一致するか
ブール値。すべての点の色が一致した場合は true、それ以外の場合は false を返します
説明
画面上にある複数の点の色を照合します
この関数の座標値パラメータは、screen.init関数で初期化された座標系の影響を受けます
例
if screen.is_colors({
{ 509, 488, 0xec1c23}, -- 座標 (509, 488) の色と 0xec1c23 の類似度が 90% 以上で、
{ 514, 470, 0x00adee}, -- 同時に座標 (514, 470) の色と 0x00adee の類似度が 90% 以上で、
{ 508, 478, 0xffc823}, -- 同時に座標 (508, 478) の色と 0xffc823 の類似度が 90% 以上で、
{ 511, 454, 0xa78217}, -- 同時に座標 (511, 454) の色と 0xa78217 の類似度が 90% 以上で、
{ 521, 433, 0xd0d2d2}, -- 同時に座標 (521, 433) の色と 0xd0d2d2 の類似度が 90% 以上の場合、
}, 90) then -- 一致します
sys.alert("匹配!")
else
sys.alert("不匹配!")
end
注記:上記のコードでは、この章で扱わない関数 sys.alert を使用しています