मैंने परिपत्र स्क्रीनशॉट के लिए एक छोटी स्क्रिप्ट को एक साथ रखा है, आपको निम्नलिखित पैकेजों की आवश्यकता है (हालांकि यह अन्य स्क्रीनशॉट प्रोग्राम और टर्मिनल एमुलेटर के लिए अनुकूल है):
sudo apt install xdotool gnome-screenshot imagemagick xterm
लिपी
#!/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"
इसे उदाहरण के रूप में सहेजें ~/circular_screenshot.bash
और इसके साथ निष्पादन योग्य बनाएं chmod +x ~/circular_screenshot.bash
। जब आप इसे चलाते हैं, तो स्क्रिप्ट पहले आपको माउस कर्सर को केंद्र की स्थिति में ले जाने के लिए कहती है Enterऔर फिर इसे एक किनारे की स्थिति में ले जाने के लिए कहती है (इससे कोई फर्क नहीं पड़ता, स्क्रिप्ट दूरी से त्रिज्या की गणना करती है) और फिर से दबाएं Enter। स्क्रीन तब फ़्लिकर होती है जब स्क्रीनशॉट लिया जाता है (मैं scrot $temp_screenshot
इसके बजाय इसका उपयोग करने की सलाह देता हूं , यह इस अजीब व्यवहार को नहीं दिखाता है।) और छवि को क्रॉप करने के लिए ImageMagick के convert
1 का उपयोग किया जाता है। आउटपुट को आपके होम निर्देशिका में फ़ाइल नाम के रूप में टाइमस्टैम्प के साथ सहेजा जाता है, आप output
स्क्रिप्ट के चर को संपादित करके इस व्यवहार को बदल सकते हैं ।
उदाहरण आउटपुट
बिना कॉल (या बेहतर: एक अदृश्य) टर्मिनल विंडो के साथ
मुझे लगता है कि आप अपनी स्क्रीन को हर बार स्क्रीन पर ब्लॉक करने वाला टर्मिनल नहीं चाहते हैं, इसलिए यहां इसके लिए एक समाधान है; स्क्रिप्ट को निम्नानुसार कॉल करें (यह मानते हुए कि स्क्रिप्ट बच गई थी ~/circular_screenshot.bash
):
xterm -geometry 0x0-1-1 -e ~/circular_screenshot.bash
यह एक अदृश्य टर्मिनल विंडो में स्क्रिप्ट चलाता है (लाल "X" और एक नीले "टी" के साथ आइकन), आपको केवल यह सुनिश्चित करने की आवश्यकता है कि जब आप टाइप करते हैं तो यह ध्यान केंद्रित होता है Enter। आप अपने डेस्कटॉप वातावरण की सेटिंग का उपयोग करके इस कमांड को कीबोर्ड शॉर्टकट में असाइन कर सकते हैं।
जैसा कि ImageMagick अविश्वसनीय रूप से शक्तिशाली है आप इस स्क्रिप्ट को अन्य आकृतियों को आउटपुट करने के लिए अनुकूलित कर सकते हैं, मैंने ellipse
एक ही त्रिज्या के साथ एक्स और वाई दिशा में ऊपर के सर्कल को खींचने के लिए उपयोग किया है - बदले में उदाहरण के $radius,$(bc <<<"$radius*0.5")
लिए सनकी के साथ विलक्षण प्राप्त करने के लिए।
1: मैंने इस धागे से imagemagick.org पर अप्रोच लिया ।