Dalam pemakaian komputer sehari-hari, seringkali kita perlu mengambil screenshot layar atau monitor.
Umumnya, bila menggunakan windows kita harus copy paste terlebih dahulu ke aplikasi paint, atau bisa juga dengan aplikasi Snipping tool.
Di windows 8 sampai 10 bisa dengan menekan tombol Windows + PrtScr dan file gambar akan langsung tersimpan dalam folder Screenshots di Pictures.
Dengan python kita bisa mengambil screenshot layar dan menyimpannya langsung jadi file dengan cara yang sangat mudah.
Ada 2 modul yang bisa kita gunakan.
1. Modul pyscreenshot
Modul ini sangat mudah digunakan. Pertama kita install terlebih dahulu modulnya.
pip install pyscreenshot
Selanjutnya, kita contohkan di sini mengambil tampilan layar yang kita beri nama sshot.jpg
Sintaksnya adalah:
pyscreenshot.grab_to_file(filename, childprocess=True, backend=None)
dimana:
– filename = nama file
– childprocess = proses virtual display dan backend untuk menghindari error
– backend = backend yang digunakan (scrot, wx, dan sebagainya)
Kodenya adalah sebagai berikut.
import pyscreenshot as pshot pyscreenshot.grab_file('screenshot.jpg', childprocess=False)
Gampang bukan? Untuk fitur lain dari modul ini, silahkan Anda eksplor.
2. Modul mss
Kelemahan dari modul pyscreenshot adalah kalau ada lebih dari 1 monitor, maka
screenshot yang diambil hanya monitor pertama, sedangkan yang ke 2 dan seterusnya tidak.
Hal ini bisa diatasi dengan menggunakan modul mss.
Dengan modul ini, kita bisa mengambil screenshot fullscreen semua layar atau hanya layar monitor
tertentu saja.
Pertama sekali, kita install dulu modulnya
pip install mss
Setelah itu, kita contohkan mengambil screenshot layar dan kita simpan sebagai sshot.png.
Sintaksnya adalah sebagai berikut:
sct.shot(mon=0, output='monitor-{mon}.png, callback=None)
dimana:
– mon = monitor ke berapa
– output = nama file untuk disimpan
– callback = Fungsi yang akan dijalankan sebelum file disimpan
Contoh penggunaannya adalah sebagai berikut:
from mss import mss sct = mss() sct.shot('sshot1.png') # monitor pertama sct.shot(mon=1, output='sshot2.png') # monitor ke 2 sct.shot(mon=-1, output='sshotfull.png') # semua monitor
Untuk lengkapnya fungsi-fungsi yang dimiliki modul mss, bisa Anda coba-coba sendiri.
Itulah 2 modul python yang bisa Anda gunakan untuk menyimpan screenshot layar dengan mudah.