April 8,2004

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 5x5 tree.png tree-raised.png

凹下去的話就是用
convert +raise 5x5 tree.png tree-lowered.png


加個邊框吧
convert -bordercolor red -border 5x5 flower.png flower-border.png


也是加框,不過有點巧妙...
convert -mattecolor black -frame 5x5 beach.png beach-frame.png
convert -mattecolor black -frame 5x5+2 beach.png beach-frame.png
convert -mattecolor black -frame 5x5+2+2 beach.png beach-frame.png

或是
convert -mattecolor gray -frame 25x25+0+25 rock.png rock-frame1.png
convert -mattecolor gray -frame 25x25+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


Posted by elleryq at 樂多Roodo! │22:23 │Linux 及其相關
工具:編輯本文
Ads by Roodo!