โซลูชันอัตโนมัติที่ปรับแต่งได้โดยใช้scrot
และimagemagick
ภาพรวม
scrot
เป็นยูทิลิตี้สกรีนช็อต CLI ที่ปรับแต่งได้สูง ในตัวอย่างนี้เราใช้ความสามารถในการส่งผ่านหน้าจอกับโปรแกรมภายนอกเพื่อเพิ่มผล dropshadow imagemagick
สวยด้วย
หมายเหตุ : วิธีการนี้ทำงานไม่ถูกต้องภายใต้ Unity และมากกว่านั้นจะไม่สามารถทำงานกับ WM อื่น ๆ ที่มีขอบโค้งมนได้ คุณยังคงสามารถจับภาพของหลักสูตรได้ แต่จะใช้เงาแบบหล่นไม่เพียง แต่กับหน้าต่าง แต่ยังรวมถึงส่วนของพื้นหลังด้วย คุณอาจสามารถแก้ไขปัญหานี้ได้โดยแทนที่scrot
ด้วยgnome-screenshot
และปรับสคริปต์ให้เหมาะสม
ตัวอย่างการยิง
สคริปต์ Dropshadow
#!/bin/bash
# NAME: dropshadow.sh
# VERSION:
# AUTHOR: (c) 2013 Glutanimate
# DESCRIPTION: - adds transparent dropshadow to images (e.g. screenshots)
# - moves them to predefined screenshot folder
# FEATURES:
# DEPENDENCIES: imagemagick suite
#
# LICENSE: MIT license (http://opensource.org/licenses/MIT)
#
# NOTICE: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
# OR OTHER DEALINGS IN THE SOFTWARE.
#
#
# USAGE: dropshadow.sh <image>
SCREENSHOTFOLDER="$HOME/Pictures/Screenshots"
FILE="${1}"
FILENAME="${FILE##*/}"
FILEBASE="${FILENAME%.*}"
convert "${FILE}" \( +clone -background black -shadow 80x20+0+15 \) +swap -background transparent -layers merge +repage "$SCREENSHOTFOLDER/${FILEBASE}.png"
rm "$FILE" #remove this line to preserve original image
หมายเหตุ : ต้นฉบับแปลงบรรทัดคำสั่งโดยสตีเฟ่นคอนเนลลี่
วิธีการรวมเข้ากับระบบของคุณ
ดำเนินการผูกบรรทัดคำสั่งต่อไปนี้กับคีย์ที่คุณเลือกและคุณควรพร้อมที่จะไป:
scrot -szb -e 'dropshadow.sh $f'
หากคุณใช้ LXDE / Openbox เหมือนฉันคุณสามารถเพิ่มการโยงคีย์ต่อไปนี้ของคุณlxde-rc.xml
:
<keybind key="C-Print"><action name="Execute"><execute>scrot -szb -e 'dropshadow.sh $f'</execute></action></keybind>
หมายเหตุ : ตรวจสอบให้แน่ใจว่าได้รวมdropshadow.sh
ไว้ในของคุณPATH
หรือเพื่อแทนที่ด้วยตำแหน่งที่แท้จริงของสคริปต์ในระบบไฟล์ของคุณ
การใช้
กดแป้นพิมพ์คำสั่งผสมที่คุณกำหนดไว้ในขั้นตอนก่อนหน้า (เช่นCTRL+ Print) และคลิกที่หน้าต่างที่คุณเลือก