2009年5月24日 星期日

在 Linux 下批次轉換圖片尺寸的方法(該目錄下都是圖檔)

利用Synaptic安裝好ImageMagick後(尋找imagemagick),其中有convert可以來進行圖片轉檔工作 (位於/usr/bin目錄之下),語法如下:

#convert [options ...] file [ [options ...] file ...] [options ...] file

其中參數-resize 就可以改變圖片大小

可以使用百分比,如:

convert -resize 30%x30%

img-resize.sh

內容如下(個人常用的縮放比為30%x30%):
filelist=$(ls $dir)
for filename in $filelist
do
convert -resize 30%x30% $filename resize_$filename
done

之後,

#sudo cp img-resize.sh /bin

先切換到任何存放圖片的目錄下,再執行img-resize.sh,如下圖:




更可以改成 my-img-resize.sh ,內容如下:

#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "請輸入圖檔所在的目錄: " dir


if [ "$dir" == "" -o ! -d "$dir" ]; then
echo "該 $dir 目錄並不存在!"

exit 1
fi


cd $dir


filelist=$(ls $dir)

for filename in $filelist
do convert -resize 30%x30% $filename resize_$filename
done

執行畫面如下圖:



可以在任何目錄下執行,只須輸入您所需要轉換圖檔所在的目錄,即可!

相關文章 :

沒有留言: