ImageMagick

某天從 IBM 電子報上看到這篇http://www-106.ibm.com/developerworks/library/l-graf2/?ca=dgr-lnxw02GraphicsLine,才知道 ImageMagick 這麼神奇,直接用指令列就可以做很多圖片編輯的工作了~
把圖片的右上角弄成圓角

composite -gravity NorthEast rounded-ne.png lake.png lake-1.png

rounded-ne.png 是一個圓角的圖案,背景設成白色,圓角部份則設為透明.
composite 會將 rounded-ne.png 與 lake.png 結合,並輸出到 lake-1.png
是故,同理可證,你可以搞定四個角

composite -gravity NorthEast rounded-ne.png lake.png lake-1.png
composite -gravity NorthWest? rounded-nw.png lake-1.png lake-2.png
composite -gravity SouthEast? rounded-se.png lake-2.png lake-3.png
composite -gravity SouthWest? rounded-sw.png lake-3.png lake-4.png

寫成 script 就變成了:

for img in *.png do composite -gravity NorthEast rounded-ne.png $img.png $img-1.png
composite -gravity NorthWest rounded-nw.png $img-1.png $img-2.png
composite -gravity SouthEast rounded-se.png $img-2.png $img-3.png
composite -gravity SouthWest rounded-sw.png $img-3.png $img-4.png
done

讓圖片浮起來,變成像按鈕的樣子

convert -raise 5×5 tree.png tree-raised.png

凹下去的話就是用

convert +raise 5×5 tree.png tree-lowered.png

加個邊框吧

convert -bordercolor red -border 5×5 flower.png flower-border.png

也是加框,不過有點巧妙…

convert -mattecolor black -frame 5×5 beach.png beach-frame.png
convert -mattecolor black -frame 5×5+2 beach.png beach-frame.png
convert -mattecolor black -frame 5×5+2+2 beach.png beach-frame.png

或是

convert -mattecolor gray -frame 25×25+0+25 rock.png rock-frame1.png
convert -mattecolor gray -frame 25×25+25+0 rock.png rock-frame2.png

把所有 .jpg 縮圖

for img in *.jpg
do
convert -sample 25%x25% $img thumb-$img
done

或是

mogrify -sample 25%x25% *.jpg
mogrify -format png -sample 25%x25% *.jpg

把 pdf 中的圖檔解出來

convert foo.pdf pages-%03d.png

of course, 也可以反過來,把圖檔作成 .pdf

convert dsc* foo.pdf