Runtime v2.81 · Diperbarui 30 Sep 2026

Color

Mewakili satu warna ARGB dan menyediakan bantuan pengambilan sampel/perbandingan warna.

Sintaks

Color(value, /)

Parameter konstruktor

NamaDeskripsi
valueString | Number
Hex string (`#AARRGGBB`/`#RRGGBB`) or raw ARGB number.
Wajib · Hanya posisi
Tanpa nilai bawaan

Nilai yang dikembalikan

Color

Perilaku / efek samping

Mewakili satu warna ARGB dan menyediakan bantuan pengambilan sampel/perbandingan warna.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

cursor = Point(540, 920)
picked = Color.get(cursor)
if picked == "#FFFFFFFF":
    click(cursor, random=6)

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Tidak ada

Field

NamaDeskripsi
argbNumber
Raw ARGB integer value.
aInt
Alpha channel 0-255.
rInt
Red channel 0-255.
gInt
Green channel 0-255.
bInt
Blue channel 0-255.
hexString
Hex string `#AARRGGBB`.
Contoh konstruktor
c1 = Color("#FFFFFFFF")
c2 = Color(4294967295)

Metode

7 metode

Color.get

Membaca warna dari layar: Titik -> Warna, Wilayah -> Array Warna 2D, daftar[Titik] -> Daftar warna.

Sintaks

Color.get(target, interval=3, default="#00000000")

Parameter

NamaDeskripsi
targetPoint | Region | list[Point]
Sampling target.
Wajib · Posisi atau nama
Tanpa nilai bawaan
intervalNumber
Grid step (pixels) when target is Region.
Opsional · Posisi atau nama
Default: 3
defaultColor | String | Number
Fallback color returned when screen capture or pixel sampling is unavailable.
Opsional · Posisi atau nama
Default: #00000000

Nilai yang dikembalikan

Color | list[list[Color]] | list[Color] — Sampel payload warna berdasarkan jenis target, dengan sampel yang hilang diisi secara default.

Perilaku / efek samping

Membaca warna dari layar: Titik -> Warna, Wilayah -> Array Warna 2D, daftar[Titik] -> Daftar warna. Ini adalah contoh sekali pakai; jika tidak ada bingkai yang tersedia atau sampel hilang, kembalikan warna default alih-alih mencoba ulang atau menghentikan skrip.

Eksekusi

  • Menunggu selesai: Ya
  • Keamanan akses bersamaan: Dijalankan berurutan
  • Eksekusi paralel: Bersyarat

Mengambil sampel frame capture bersama di pemanggil; capture dan pemrosesan memerlukan waktu. Alur lain berbagi kebijakan capture/cache.

Contoh

c = Color.get(Point(100, 200), default="#FF000000")
grid = Color.get(Region(120, 240, 90, 60), interval=3, default="#00000000")
batch = Color.get([Point(10, 10), Point(20, 20)])

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Color.compare

Bandingkan dua warna berdasarkan toleransi RGB per saluran.

Sintaks

Color.compare(a, b, tolerance=0)

Parameter

NamaDeskripsi
aColor | String | Number
First color.
Wajib · Posisi atau nama
Tanpa nilai bawaan
bColor | String | Number
Second color.
Wajib · Posisi atau nama
Tanpa nilai bawaan
toleranceNumber
Allowed per-channel difference (0-255). Practical start: 4-8 for near-identical UI shades, 10-16 for anti-alias/compression variation.
Opsional · Posisi atau nama
Default: 0

Nilai yang dikembalikan

Boolean — benar ketika semua saluran RGB berada dalam toleransi. Panduan singkat: 0 = tepat, 4-8 = hampir sama, 10-16 = cukup cocok, >24 = sangat longgar.

Perilaku / efek samping

Bandingkan dua warna berdasarkan toleransi RGB per saluran. Pertandingan lolos hanya jika |R1-R2|, |G1-G2|, dan |B1-B2| semuanya <= toleransi.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

base = Color(\"#FF4CAF50\")
sample = Color.get(Point(620, 340))
is_same = Color.compare(base, sample, tolerance=8)  # warna UI yang hampir sama

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Color.distance_rgb

Hitung jarak Euclidean dalam ruang RGB antara dua warna.

Sintaks

Color.distance_rgb(a, b)

Parameter

NamaDeskripsi
aColor | String | Number
First color.
Wajib · Posisi atau nama
Tanpa nilai bawaan
bColor | String | Number
Second color.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

Number — Jarak ruang RGB pada rentang 0 -> 441.67 (0 = tepat). Panduan praktis: <=8 hampir sama, 9-20 dekat, 21-40 terlihat berbeda, >40 berjauhan.

Perilaku / efek samping

Hitung jarak Euclidean dalam ruang RGB antara dua warna.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

actual = Color.get(Point(620, 340))
rgb_gap = Color.distance_rgb(\"#FF4CAF50\", actual)
if rgb_gap <= 15:
    print(\"close in RGB\")

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Color.delta_e

Hitung CIE76 Delta E antara dua warna untuk perbedaan persepsi.

Sintaks

Color.delta_e(a, b)

Parameter

NamaDeskripsi
aColor | String | Number
First color.
Wajib · Posisi atau nama
Tanpa nilai bawaan
bColor | String | Number
Second color.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

Number — Skor perbedaan persepsi. Aturan praktisnya: <1 tidak terlihat, 1-2 hampir tidak terlihat, 2-5 terlihat, 5-10 berbeda jelas, >10 warna berbeda.

Perilaku / efek samping

Hitung CIE76 Delta E antara dua warna untuk perbedaan persepsi.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

actual = Color.get(Point(620, 340))
d = Color.delta_e(\"#FF4CAF50\", actual)
if d <= 3:
    print(\"looks similar to human eye\")

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Color.compare

Bandingkan versi contoh toleransi RGB.

Sintaks

color.compare(other, tolerance=0)

Parameter

NamaDeskripsi
otherColor | String | Number
Color to compare.
Wajib · Posisi atau nama
Tanpa nilai bawaan
toleranceNumber
Allowed per-channel difference (0-255). Typical same-ish range: 4-8; use 10-16 for noisy/compressed captures.
Opsional · Posisi atau nama
Default: 0

Nilai yang dikembalikan

Boolean — Hasil perbandingan. 0 berarti sama persis; toleransi yang lebih besar membuat pencocokan menjadi lebih permisif.

Perilaku / efek samping

Bandingkan versi contoh toleransi RGB. Berguna ketika Anda sudah mencicipi satu warna dan membandingkannya dengan warna target.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

picked = Color.get(Point(540, 920))
if picked.compare(\"#FFFFFFFF\", tolerance=5):
    click(Point(540, 920))

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Color.distance_rgb

Hitung jarak Euclidean dalam ruang RGB dari warna ini ke warna lain.

Sintaks

color.distance_rgb(other)

Parameter

NamaDeskripsi
otherColor | String | Number
Color to compare.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

Number — Jarak ruang RGB (0 -> 441.67). Bacaan singkat: <=8 hampir sama, 9-20 hampir sama, 21-40 terlihat berbeda, >40 berjauhan.

Perilaku / efek samping

Hitung jarak Euclidean dalam ruang RGB dari warna ini ke warna lain.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

base = Color(\"#FF4CAF50\")
actual = Color.get(Point(620, 340))
rgb_gap = base.distance_rgb(actual)
if rgb_gap <= 20:
    print(\"close enough in RGB\")

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait

Color.delta_e

Hitung CIE76 Delta E dari warna ini ke warna lain untuk perbandingan persepsi.

Sintaks

color.delta_e(other)

Parameter

NamaDeskripsi
otherColor | String | Number
Color to compare.
Wajib · Posisi atau nama
Tanpa nilai bawaan

Nilai yang dikembalikan

Number — Skor perbedaan warna persepsi. Panduan praktis: <1 tidak terlihat, 1-2 hampir tidak terlihat, 2-5 terlihat, 5-10 perbedaan jelas, >10 sangat berbeda.

Perilaku / efek samping

Hitung CIE76 Delta E dari warna ini ke warna lain untuk perbandingan persepsi.

Eksekusi

  • Menunggu selesai: Tidak
  • Keamanan akses bersamaan: Gunakan objek terpisah di tiap alur
  • Eksekusi paralel: Ya

Operasi nilai berjalan dalam alur pemanggil tanpa sengaja menunggu tangkapan layar, gestur selesai, atau masukan pengguna. Buat wadah dan builder yang dapat berubah secara terpisah dalam setiap alur; isolasi bukan jaminan sinkronisasi objek bersama.

Contoh

base = Color(\"#FF4CAF50\")
actual = Color.get(Point(620, 340))
perceptual_gap = base.delta_e(actual)
if perceptual_gap <= 2:
    print(\"looks almost the same\")

Kesalahan / batasan

Tidak ada batasan tambahan yang didokumentasikan; ikuti kontrak parameter dan perilaku di atas.

API terkait