Tôi tập hợp một tập lệnh nhỏ cho ảnh chụp màn hình tròn, bạn cần các gói sau (mặc dù nó cũng có thể thích ứng với các chương trình chụp màn hình khác và trình giả lập thiết bị đầu cuối):
sudo apt install xdotool gnome-screenshot imagemagick xterm
Kịch bản
#!/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"
Lưu nó như ví dụ ~/circular_screenshot.bash
và làm cho nó thực thi với chmod +x ~/circular_screenshot.bash
. Khi bạn chạy nó, trước tiên tập lệnh yêu cầu bạn di chuyển con trỏ chuột đến vị trí trung tâm và nhấn Entervà sau đó di chuyển nó đến vị trí cạnh (không quan trọng, tập lệnh sẽ tính bán kính từ khoảng cách) và nhấn lại Enter. Màn hình sau đó nhấp nháy trong khi chụp ảnh màn hình (tôi khuyên bạn nên sử dụng scrot $temp_screenshot
thay vào đó, nó không hiển thị hành vi kỳ quặc này.) Và ImageMagick's convert
1 được sử dụng để cắt hình ảnh. Đầu ra được lưu với dấu thời gian là tên tệp trong thư mục chính của bạn, bạn có thể thay đổi hành vi này bằng cách chỉnh sửa output
biến của tập lệnh.
Ví dụ đầu ra
Gọi mà không có (hoặc tốt hơn: với một cửa sổ đầu cuối vô hình)
Tôi cho rằng bạn không muốn có một thiết bị đầu cuối chặn màn hình của bạn mỗi khi bạn tạo một ảnh chụp màn hình như vậy, vì vậy đây là một giải pháp cho điều đó; Gọi tập lệnh như sau (giả sử tập lệnh đã được lưu dưới dạng ~/circular_screenshot.bash
):
xterm -geometry 0x0-1-1 -e ~/circular_screenshot.bash
Thao tác này chạy tập lệnh trong một cửa sổ đầu cuối vô hình (biểu tượng với màu đỏ X X và màu xanh da trời Tiết), bạn chỉ cần đảm bảo rằng nó tập trung khi bạn nhập Enter. Bạn có thể gán lệnh này cho một phím tắt bằng cách sử dụng cài đặt của môi trường máy tính để bàn của bạn.
Vì ImageMagick cực kỳ mạnh mẽ, bạn cũng có thể điều chỉnh tập lệnh này để tạo ra các hình dạng khác, tôi đã sử dụng ellipse
cùng bán kính theo cả hai hướng x và y để vẽ vòng tròn ở trên - thay vào đó $radius,$(bc <<<"$radius*0.5")
để lấy một hình elip có độ lệch tâm trên 0 thay vào đó.
1: Tôi đã sử dụng cách tiếp cận từ chủ đề này trên fantemagick.org .