Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menangkap Tangkapan Skrin pada Linux menggunakan Python?

Bagaimana untuk Menangkap Tangkapan Skrin pada Linux menggunakan Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 12:40:02972semak imbas

How to Capture a Screenshot on Linux using Python?

Merakam Tangkapan Skrin menggunakan Python pada Linux

Dalam banyak situasi, mengambil tangkapan skrin boleh menjadi cara yang mudah untuk menangkap maklumat atau mendokumentasikan proses . Artikel ini menyediakan penyelesaian untuk menangkap tangkapan skrin menggunakan skrip Python pada sistem berasaskan Linux, tanpa memerlukan alat atau perpustakaan luaran.

Skrip Python untuk Tangkapan Tangkapan Skrin Linux

Skrip Python berikut memanfaatkan keupayaan GTK untuk menangkap dan menyimpan tangkapan skrin keseluruhan persekitaran desktop:

import gtk.gdk

w = gtk.gdk.get_default_root_window()
sz = w.get_size()
print("The size of the window is {} x {}".format(*sz))
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, sz[0], sz[1])
pb = pb.get_from_drawable(w, w.get_colormap(), 0, 0, 0, 0, sz[0], sz[1])
if pb != None:
    pb.save("screenshot.png", "png")
    print("Screenshot saved to screenshot.png.")
else:
    print("Unable to get the screenshot.")

Penjelasan

  • Skrip bermula dengan mendapatkan tetingkap akar lalai menggunakan gtk.gdk.get_default_root_window().
  • Seterusnya, ia mendapatkan semula dimensi tetingkap akar menggunakan get_size().
  • Objek Pixbuf dicipta untuk menyimpan tangkapan skrin data. Kaedah get_from_drawable() kemudiannya digunakan untuk menangkap kandungan tetingkap akar.
  • Jika tangkapan tangkapan skrin berjaya, ia disimpan ke fail bernama "screenshot.png" dalam format PNG.

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Tangkapan Skrin pada Linux menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn