Shell程式設計:批量生成縮圖
阿新 • • 發佈:2019-02-15
有幾十萬張圖片,希望用shell指令碼批量生成縮圖。使用GraphicsMagick 庫進行圖片處理
1.GraphicsMagick
是配合im4java使用的圖片處理軟體,在linux/windows下均能使用。在ubuntu下安裝很簡單:sudo apt-get install graphicsmagick
然後執行 man gm, 如果顯示graphicsmagick的manual,則證明graphicsmagick安裝成功。 (http://www.douban.com/note/250186484/) 2.命令列:圖片壓縮 這裡用的是保持圖片長寬比例不變 手機一般解析度1080*1920,寬度上3張圖,1080/3=360,可以保證圖片清晰,即壓縮到360*640 不過發現還是太大,弄到10k差不多,後來選了個壓縮為為200*356的大小
#!/bin/bash #arg1: nowdir arg2: now thumb dir arg3: nowforder function bianli(){ for file in `ls $1` do echo $file image="${1}/${file}" thumb="${2}/${file}" if [ -d ${image} ] then mkdir ${thumb} bianli ${image} ${thumb} elif [ ! -f ${thumb} ] then echo $thumb convert -resize "200x356>" -quality 85 -strip ${image} ${thumb} else echo "already exists" fi echo "***************" done } bianli /media/data/WEBUPV/images /media/data/WEBUPV/thumb