Runtime v2.81 · Diperbarui 30 Sep 2026

ScreenCapture

Kontrol statis untuk pengambilan layar bersama selama proses makro saat ini.

Sintaks

ScreenCapture

Kelas ini tidak dapat dibuat langsung.

Parameter

Tidak ada

Nilai yang dikembalikan

—

Perilaku / efek samping

Kontrol statis untuk pengambilan layar bersama selama proses makro saat ini. Cache otomatis biasanya menggunakan kembali frame hingga 100 ms untuk mengurangi beban pengambilan gambar. Untuk pengenalan berulang yang membutuhkan frame terbaru yang tersedia, gunakan auto_cache_off(); ini menambah beban pemrosesan dan penggunaan baterai, tanpa menjamin eksekusi lebih cepat atau piksel yang baru dirender. cache_on() menyematkan frame secara terpisah dan diprioritaskan di atas pengaturan cache otomatis.

Eksekusi

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

Kontrol cache memperbarui kebijakan bersama tanpa menunggu frame atau durasi yang ditentukan. Capture berikutnya memakai kebijakan itu. Perubahan memengaruhi semua alur dalam Run; kontrol ini tidak meminta izin capture.

Contoh

# Pakai ulang satu frame tangkapan untuk beberapa pemeriksaan layar
ScreenCapture.cache_on()
color = Color.get(Point(500, 900))
hit = Region.full_screen().find("enemy", timeout=0)
ScreenCapture.cache_off()

# Utamakan frame terbaru yang tersedia untuk pengenalan singkat
ScreenCapture.auto_cache_off(duration_ms=1000)
hit = Region.full_screen().find("enemy", timeout=800, rate=30)

# Nonaktifkan tanpa batas waktu, lalu aktifkan kembali cache otomatis
ScreenCapture.auto_cache_off()
hit = Region.full_screen().find("enemy", timeout=2000, rate=30)
ScreenCapture.auto_cache_on()

Kesalahan / batasan

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

API terkait

Metode

4 metode

ScreenCapture.cache_on

Sematkan frame tangkapan layar nyata berikutnya dan gunakan kembali hingga ScreenCapture.cache_off() dipanggil.

Sintaks

ScreenCapture.cache_on()

Parameter

Tidak ada

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Perilaku / efek samping

Sematkan frame tangkapan layar nyata berikutnya dan gunakan kembali hingga ScreenCapture.cache_off() dipanggil. Jika belum ada buffer baru dalam antrean, frame valid terbaru dari pembaca tangkapan saat ini akan disematkan sebagai gantinya. Fungsi ini tidak meminta izin tangkapan layar.

Eksekusi

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

Kontrol cache memperbarui kebijakan bersama tanpa menunggu frame atau durasi yang ditentukan. Capture berikutnya memakai kebijakan itu. Perubahan memengaruhi semua alur dalam Run; kontrol ini tidak meminta izin capture.

Contoh

# Sematkan satu frame bersama untuk dua proses pengenalan
ScreenCapture.cache_on()
region = Region(100, 200, 300, 400)
first = region.find("start", 0)
second = region.find("confirm", 0)
ScreenCapture.cache_off()
print(first.found, second.found)

Kesalahan / batasan

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

API terkait

ScreenCapture.cache_off

Lepaskan frame tangkapan layar yang disematkan tanpa mengubah pengaturan cache otomatis.

Sintaks

ScreenCapture.cache_off()

Parameter

Tidak ada

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Perilaku / efek samping

Lepaskan frame tangkapan layar yang disematkan tanpa mengubah pengaturan cache otomatis. Frame yang masih baru tetap dapat digunakan kembali jika cache otomatis aktif. Panggil juga auto_cache_off() jika pengenalan membutuhkan frame terbaru yang tersedia.

Eksekusi

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

Kontrol cache memperbarui kebijakan bersama tanpa menunggu frame atau durasi yang ditentukan. Capture berikutnya memakai kebijakan itu. Perubahan memengaruhi semua alur dalam Run; kontrol ini tidak meminta izin capture.

Contoh

# Lepas penyematan manual sebelum pemindaian berikutnya
ScreenCapture.cache_off()
region = Region(100, 200, 300, 400)
print(region.find("start", 0).found)

Kesalahan / batasan

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

API terkait

ScreenCapture.auto_cache_off

Nonaktifkan penggunaan ulang frame yang disengaja oleh cache otomatis selama duration_ms milidetik sejak pemanggilan ini, atau hingga auto_cache_on() dipanggil atau proses makro berakhir jika argumen dihilangkan atau None.

Sintaks

ScreenCapture.auto_cache_off(duration_ms=None)

Parameter

NamaDeskripsi
duration_msNumber | None
Milidetik berupa bilangan bulat positif (100 dan 100.0 sama-sama valid), atau None untuk tanpa batas waktu selama proses makro ini. Nilai nol, negatif, pecahan, string, boolean, dan nilai yang melampaui batas ditolak.
Opsional · Posisi atau nama
Default: None

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Perilaku / efek samping

Nonaktifkan penggunaan ulang frame yang disengaja oleh cache otomatis selama duration_ms milidetik sejak pemanggilan ini, atau hingga auto_cache_on() dipanggil atau proses makro berakhir jika argumen dihilangkan atau None. Pemanggilan ulang mengganti durasi sebelumnya. Berlaku untuk pengambilan bitmap, frame mentah, TFLite, dan piksel bersama; penggunaan ulang berdasarkan TTL dilewati, tetapi pengambilan frame tetap dibatasi waktunya dan tidak dapat memaksa Android merender piksel baru. Tidak melepaskan sematan cache_on(), meminta izin tangkapan layar, atau menunggu durasi berakhir.

Eksekusi

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

Kontrol cache memperbarui kebijakan bersama tanpa menunggu frame atau durasi yang ditentukan. Capture berikutnya memakai kebijakan itu. Perubahan memengaruhi semua alur dalam Run; kontrol ini tidak meminta izin capture.

Contoh

# Lewati cache otomatis sementara; penyematan manual adalah pengaturan terpisah
ScreenCapture.cache_off()
ScreenCapture.auto_cache_off(1000)
region = Region(100, 200, 300, 400)
print(region.find("start", 500).found)
ScreenCapture.auto_cache_on()

Kesalahan / batasan

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

API terkait

ScreenCapture.auto_cache_on

Aktifkan kembali cache frame otomatis normal segera dan batalkan penonaktifan yang berjangka maupun tanpa batas waktu.

Sintaks

ScreenCapture.auto_cache_on()

Parameter

Tidak ada

Nilai yang dikembalikan

None — Tidak ada nilai kembalian.

Perilaku / efek samping

Aktifkan kembali cache frame otomatis normal segera dan batalkan penonaktifan yang berjangka maupun tanpa batas waktu. Tidak melepaskan sematan cache_on(), meminta izin tangkapan layar, atau menunggu. Cache otomatis juga dipulihkan saat proses makro berakhir.

Eksekusi

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

Kontrol cache memperbarui kebijakan bersama tanpa menunggu frame atau durasi yang ditentukan. Capture berikutnya memakai kebijakan itu. Perubahan memengaruhi semua alur dalam Run; kontrol ini tidak meminta izin capture.

Contoh

# Pulihkan penggunaan ulang frame otomatis seperti biasa
ScreenCapture.auto_cache_on()
region = Region(100, 200, 300, 400)
print(region.find("start", 0).found)

Kesalahan / batasan

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

API terkait