[英]Command Line String Checking and argument passing (ImageMagick)
我發現了這個很酷的小片段,為圖像添加了陰影。 (我認為使用imageMagick。)
image-shadow () {
out=${1%.*}-shadow.${1#*.}
in=$1
echo "Converted file : $out"
if [ ! -z $2 ] ; then
convert $in -frame $2 $out
in=$out
fi
convert $in \( +clone -background black -shadow 60x5+3+3 \) \
+swap -background transparent -layers merge +repage $out
}
我們用:
image-shadow test.png 0x0
根據功能內部定義添加0x0邊框和3x3陰影...
現在,我有* -hd.png圖像和* .png圖像..並想在* .png中添加3x3陰影,在* -hd.png中添加6x6(顯然是視網膜圖形..)
1-如何比較圖像名稱,並確定
2-如何傳遞陰影大小
謝謝!
對於1 ::使用find,實際上是用於此類工作的瑞士軍刀:
find '(' -name '*.png' -and -not -name '*-hd.png' ')' -exec image-shadow '{}' 0x0 ';'
當然,您必須將函數保存為單個shell文件而不是shell函數,但是無論如何,這對於代碼重用來說是理想的。
對於2 ::使用另一個命令行參數,該參數在函數中被引用為$ 3。
for f in *.png; do
case "$f" in
*-hd.png) shadow="6x6" ;;
*) shadow="3x3" ;;
esac
image-shadow "$f" $shadow
dona
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.