Saya mengumpulkan skrip kecil untuk screenshot melingkar, Anda memerlukan paket-paket berikut (meskipun ini dapat disesuaikan untuk program screenshot lain dan emulator terminal juga):
sudo apt install xdotool gnome-screenshot imagemagick xterm
Naskah
#!/bin/bash
output=~/$(date +%F_%H%M%S).png
temp_screenshot=$(mktemp).png
read -p "Move cursor to center and press Enter"
eval $(xdotool getmouselocation --shell)
x_center=$X
y_center=$Y
read -p "Move cursor to edge and press Enter"
eval $(xdotool getmouselocation --shell)
gnome-screenshot -f $temp_screenshot
radius=$(bc <<<"sqrt(($X-$x_center)^2+($Y-$y_center)^2)")
convert $temp_screenshot -alpha on \( +clone -channel a -evaluate multiply 0 -draw "ellipse $x_center,$y_center $radius,$radius 0,360" \) -compose DstIn -composite -trim "$output"
Simpan itu sebagai contoh ~/circular_screenshot.bash
dan buat itu bisa dieksekusi dengan chmod +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 menggunakan scrot $temp_screenshot
, itu tidak menunjukkan perilaku aneh ini.) Dan ImageMagick's convert
1 digunakan untuk memotong gambar. Output disimpan dengan cap waktu sebagai nama file di direktori home Anda, Anda dapat mengubah perilaku ini dengan mengedit output
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
):
xterm -geometry 0x0-1-1 -e ~/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 .