Chuyển tới nội dung chính

Khớp màu tại nhiều điểm (screen.is_colors)

Khai báo​

có khớp hay không = screen.is_colors({
[max_miss = số điểm không khớp tối đa cho phép,]
[xy_tolerance = dung sai tọa độ,]
[csim_algorithm = thuật toán độ tương đồng màu,]
{tọa độ x*, tọa độ y*, màu*},
{tọa độ x*, tọa độ y*, màu*},
...
}[, độ tương đồng màu])

Tham số​

  • số điểm không khớp tối đa cho phép
    Số nguyên, tùy chọn. Số điểm không khớp tối đa được phép. Mặc định là 0 (tất cả các điểm phải khớp).

  • dung sai tọa độ (được hỗ trợ từ phiên bản 20250228)
    Số nguyên, tùy chọn. Độ lệch tọa độ cho phép; các điểm vượt quá độ lệch này được xem là không khớp. Mặc định là 0.

  • thuật toán độ tương đồng màu (được hỗ trợ từ phiên bản 20250302)
    Số nguyên, tùy chọn. Thuật toán tính độ tương đồng màu. Mặc định là 0.

    Thuật toán
    0 = XXT mặc định (gradient dốc, độ tương đồng giảm nhanh khi độ chênh lệch tăng)
    1 = Manhattan (mượt mà)
    2 = Euclidean (mượt mà)
  • tọa độ x*, tọa độ y*
    Số nguyên. Tọa độ của một điểm.

  • màu*
    Số nguyên. Giá trị màu mong đợi tại điểm đó.

  • độ tương đồng màu
    Số nguyên, tùy chọn. Ngưỡng tương đồng dùng chung cho tất cả các điểm khi không chỉ định riêng. Phạm vi 1~100, mặc định là 100.

Giá trị trả về​

  • có khớp hay không
    Boolean. true nếu tất cả các điểm khớp theo các quy tắc, ngược lại là false.

Mô tả​

Khớp màu tại nhiều điểm trên màn hình.
Các tham số tọa độ tuân theo hệ tọa độ được khởi tạo thông qua screen.init.

Ví dụ​

if screen.is_colors({
{ 509, 488, 0xec1c23},
{ 514, 470, 0x00adee},
{ 508, 478, 0xffc823},
{ 511, 454, 0xa78217},
{ 521, 433, 0xd0d2d2},
}, 90) then
sys.alert("Đã khớp!")
else
sys.alert("Chưa khớp!")
end

Lưu ý: Sử dụng sys.alert