1. 程式人生 > >【JS API】指令碼語言-裝置控制介面說明-(過載一) 比較顏色

【JS API】指令碼語言-裝置控制介面說明-(過載一) 比較顏色

原型:

compareColorEx(multipleColor, sim)

是否支援多裝置:

不支援

對應的 REST API:

描述:

同時比較多個指定座標點的顏色,支援多色、顏色範圍、相似度比較,這裡我們都用16 進位制顏色,如"0x001122"。

引數:

multipleColor: 字串,格式為(X 座標|Y 座標|16 進位制顏色), 多個點之間用","號分隔,比如" 100|200|0xffffff|0xaabbcc-0x000000,300|500|0xffffff "。其中, X 座標:整型 Y 座標:整型, 16 進位制顏色: 字串,指定的 16 進位制顏色 ,多個顏色用"|"號分隔, 支援顏色範圍,如" 0x0000ff-0xaabbcc|0x001122 "。 Sim: 相似度,僅作用於單個顏色,對顏色範圍無用。 對於指定的單個顏色,如果螢幕上指定座標點的顏色與給定的16 進位制顏色差異在相似範圍以內,則認為兩種顏色相同。相似度取值範圍為[0.0, 1.0],1表示相識度最高。

返回值:

布林型: 如果給定的16進位制顏色中找到螢幕座標的顏色,則返回true,否則返回false。 注意: 同時比較多個指定座標點的顏色,只要其中一個指定螢幕座標的顏色沒有在給定的16進位制顏色中找到,就返回false。

示例:

兩個座標點的顏色與指定的顏色比較。 螢幕座標(32,621) 的顏色與給定的16進位制顏色(0x9c1f8|0xff0000-0xffffff)比較 螢幕座標(77,421) 的顏色與給定的16進位制顏色(0x6fa913|0x9c1f8)比較

//獲取當前主控裝置物件
var device = Device.getMain();
//對比顏色,如果兩個座標顏色都跟指定的16進位制顏色匹配成功,則輸出匹配成功,否則輸出lastError()
var res = device.compareColorEx("32|621|0x9c1f8|0xff0000-0xffffff,77|421|0x6fa913|0x9c1f8", 1.0);
if(!res){
    print(lastError());
} else {
    print("匹配成功");
}