Saya memiliki gambar di layar, dan saya ingin mengukur lebarnya. Tentu saja saya bisa menggunakan penggaris , tapi itu aneh dan lambat. Apakah ada sesuatu di mana saya bisa mengklik tombol pintas, menarik keluar suatu daerah, dan itu akan memberi tahu saya ketinggian dan lebar daerah itu?
Sesuatu yang mirip dengan Page Ruler untuk Google Chrome.
Saat ini, saya menggunakan Shift+ PrtScndan menyeret keluar area, menyimpan gambar, dan kemudian pergi ke Properties untuk mengetahui tinggi dan lebarnya.
Bagaimana itu bekerja
Script di bawah ini mengukur ukuran area, antara dua lokasi pointer mouse.
Ini berfungsi sebagai berikut:
Tempatkan pointer mouse di posisi pertama (tanpa mengklik)
Tekan kombinasi tombol pilihan Anda (lihat lebih lanjut di bawah)
Tempatkan mouse di posisi kedua (lagi tanpa mengklik)
Tekan kombinasi tombol Anda lagi. Pemberitahuan akan memberi tahu Anda ukuran persisnya (px) dari area tersebut.
Pilihan
Anda dapat memilih (dengan menghapus komentar salah satu baris) bagaimana Anda ingin diberitahu; baik dengan pemberitahuan:
Atau jendela info Zenity:
(Contohnya dari berbagai daerah)
Bagaimana cara menggunakan
Script menggunakan
xdotool
:Salin skrip di bawah ini ke file kosong, batalkan komentar salah satu dari baris berikut:
(untuk diberitahu oleh
notify-send
opsi)atau:
untuk
Zenity
opsi.Simpan skrip di
~/bin
(Anda mungkin harus membuat direktori) sebagaimeasure_area
(tanpa ekstensi) dan membuatnya dapat dieksekusi .Tambahkan kombinasi tombol pilihan Anda untuk menjalankan skrip: Pilih: Pengaturan Sistem> "Keyboard"> "Pintasan"> "Pintasan Khusus". Klik "+" dan tambahkan perintah:
Catatan
Naskah
Penjelasan
Ketika skrip dipanggil pertama kali, skrip ini mendapatkan posisi mouse saat ini dengan
xdotool
perintah:Ini kemudian menyimpan posisi ke dalam file (tidak terlihat)
.measure_area.txt
, menunggu panggilan kedua.Pada panggilan kedua, ia membaca file, menghapusnya dan membandingkan
x/y
koordinat yang tersimpan dengan yang terbaru, dan menghitung ukuran area di antara mereka.Edit
Diperbarui skrip dengan sejumlah perbaikan:
subprocess.Popen()
/subprocess.check_output()
perintah (terima kasih kepada @muru, @Trengot)xdotool
menginstal)sumber
Popen(['/bin/bash',...
bukannyaPopen(['zenity', '--info', ...
?command = ['zenity', '--info', '--title', 'Area Size', '--text', str(w) + ' x ' + str(h)]; subprocess.Popen(command)
membutuhkan lebih sedikit bermain-main dengan'
dan"
, saya pikir.xdotools
? Sesuatu seperticheck_output(['xdotools', 'getmouseposition'])
?Menggunakan slop
Cara sederhana lain untuk menentukan area pilihan adalah dengan menggunakan
slop
(Pilih Operasi), utilitas baris perintah "yang meminta pemilihan dari pengguna dan mencetak wilayah ke stdout."slop
adalah alat yang relatif baru dan belum dikemas untuk Debian / Ubuntu. Anda harus mengkompilasinya dari sumber:Instalasi adalah bagian yang paling sulit.
slop
itu sendiri sebenarnya sangat mudah untuk dikerjakan. Misalnya, satu-liner berikut akan meminta Anda untuk memilih area layar dan keduanya akan menampilkan hasilnya sebagai pemberitahuan dan menuliskannya ke clipboard:Tangkapan layar:
Rincian cepat dari perintah yang digunakan:
slop -t 0 -b 1
- meminta pengguna untuk memilih area layar; jangan pilih jendela penuh (-t 0
), atur batas pilihan ke 1px (-b 1
)eval $(...)
- Baca output darislop
menjadi variabelnotify-send ...
- Kirim pemberitahuan GUI dengan informasi tentang area yang dipilihecho ${W}x${H} | xsel -bi
- menyalin dimensi ke clipboard (membutuhkanxsel
→sudo apt-get install xsel
)sumber