Ketika kami mengambil tangkapan layar area yang dipilih pada Ubuntu
(menggunakan Shift+ Prt Scratau Ctrl+ Shift+ Prt Scr) kami selalu memilih area persegi panjang . Jadi, saya tahu saya bisa mengedit gambar pada beberapa perangkat lunak seperti Inkscape untuk membuat lingkaran dengan gambar persegi panjang, tetapi saya ingin tahu apakah ada konfigurasi yang dapat saya ubah untuk dapat memilih berbagai jenis bentuk (terutama lingkaran) ) langsung ketika saya mengambil tangkapan layar.
Apa itu mungkin?
scripts
software-recommendation
programming
screenshot
productivity
Rafael Muynarsk
sumber
sumber
Jawaban:
Saya mengumpulkan skrip kecil untuk screenshot melingkar, Anda memerlukan paket-paket berikut (meskipun ini dapat disesuaikan untuk program screenshot lain dan emulator terminal juga):
Naskah
Simpan itu sebagai contoh
~/circular_screenshot.bash
dan buat itu bisa dieksekusi denganchmod +x ~/circular_screenshot.bash
. Ketika Anda menjalankannya, skrip pertama meminta Anda untuk memindahkan kursor mouse ke posisi tengah dan tekan Enterdan kemudian untuk memindahkannya ke posisi tepi (tidak masalah yang mana, skrip menghitung jari-jari dari jarak) dan kembali tekan Enter. Layar kemudian berkedip saat tangkapan layar diambil (saya sarankan menggunakanscrot $temp_screenshot
, itu tidak menunjukkan perilaku aneh ini.) Dan ImageMagick'sconvert
1 digunakan untuk memotong gambar. Output disimpan dengan cap waktu sebagai nama file di direktori home Anda, Anda dapat mengubah perilaku ini dengan mengeditoutput
variabel skrip.Contoh output
Panggilan tanpa (atau lebih baik: dengan jendela terminal yang tidak terlihat)
Saya kira Anda tidak ingin terminal memblokir layar Anda setiap kali Anda membuat tangkapan layar seperti itu, jadi inilah solusi untuk itu; Panggil skrip sebagai berikut (dengan asumsi skrip disimpan sebagai
~/circular_screenshot.bash
):Ini menjalankan skrip di jendela terminal tak terlihat (ikon dengan "X" merah dan "T" biru), Anda hanya perlu memastikan itu fokus ketika Anda mengetik Enter. Anda dapat menetapkan perintah ini ke pintasan keyboard menggunakan pengaturan lingkungan desktop Anda.
Karena ImageMagick sangat kuat Anda dapat mengadaptasi skrip ini untuk menghasilkan bentuk lain juga, saya menggunakan
ellipse
dengan jari-jari yang sama di kedua arah x dan y untuk menggambar lingkaran di atas - ubah itu$radius,$(bc <<<"$radius*0.5")
untuk mendapatkan elips dengan eksentrisitas di atas sebagai gantinya.1: Saya mengambil pendekatan dari utas ini di imagemagick.org .
sumber
Saya menemukan beberapa hal di sini tentang tangkapan layar. Ketika kami mengambil tangkapan layar di Ubuntu (milik saya adalah 16,04) kami sebenarnya menggunakan perangkat lunak yang disebut
gnome-screenshot
. Ini adalah perangkat lunak sumber terbuka yang ditulis dalam C dan kami dapat menemukan kode sumbernya di GitHub di tautan ini :Nah, ada file yang disebut
screenshot-area-selection.c
yang menjawab pertanyaan saya. Ini file dengan 361 baris kode jadi saya tidak akan menempelkannya di sini. Tapi sejauh yang saya mengerti tentang file ini (tidak banyak), ia menggunakan banyak fungsi yang terstruktur di sekitar membangun bentuk persegi panjang ... Seperti dalam potongan kode ini:Jadi, kesimpulan saya adalah tidak mungkin mengubah konfigurasi apa pun untuk mengambil tangkapan layar menggunakan
gnome-screenshot
karena kodenya tidak terstruktur untuk itu ... Meskipun mungkin untuk mengunduh kode, ubah sendiri kodenya, kompilasi ulang, lalu gunakan versi hasil personalisasi sendiri. darignome-screenshot
.sumber
Menggunakan ide yang sama dari jawaban yang diterima saya telah membuat skrip lain untuk mengambil screenshot heksagonal dan saya membagikannya di sini kalau-kalau itu berguna untuk orang lain.
Contoh output
Naskah
Prosesnya sama persis dengan jawaban yang diterima . Dalam hal ini saya baru saja mengubah nama skrip:
"Simpan sebagai contoh
~/hexagonal_screenshot.bash
dan buat itu dapat dieksekusi denganchmod +x ~/hexagonal_screenshot.bash
. Ketika Anda menjalankannya, skrip pertama meminta Anda untuk memindahkan kursor mouse ke posisi tengah dan tekan Enter dan kemudian untuk memindahkannya ke posisi tepi (tidak masalah yang mana, skrip menghitung jari-jari dari kejauhan) dan sekali lagi tekan Enter. Layar kemudian berkedip saat tangkapan layar diambil (saya sarankan menggunakanscrot $temp_screenshot
, itu tidak menunjukkan perilaku aneh ini.) dan ImageMagickconvert
digunakan untuk memotong gambar. Outputnya adalah disimpan dengan cap waktu sebagai nama file di direktori home Anda, Anda dapat mengubah perilaku ini dengan mengeditoutput
variabel skrip. "informasi tambahan
Jika seseorang ingin tahu tentang matematika yang terlibat, di sini adalah bagaimana saya melakukannya. Untuk membuat poligon dengan jumlah sisi yang berbeda atau bentuk yang berbeda menggunakan
Imagemagick
prosedur akan sama: lakukan perhitungan dan tambahkan atau hapus poin ke bagian kode ini"polygon $P1_x,$P1_y $P2_x,$P2_y $P3_x,$P3_y $P4_x,$P4_y $P5_x,$P5_y $P6_x,$P6_y"
.sumber