2012年11月16日

圖片改解析度dpi

最近有需求,要把螢幕擷圖改解析度300dpi(列印或出書),難不成每個圖都要進gimp轉解析度後再存檔嗎,有快一點的方法嗎?有當然是指令,可是有人看到指令就....,但我還是把指令列一下
convert  -density 300  a.png b.png

於是今天花一點時間寫了一個sh(只幫忙改png和jpg),把它做一點效果。使用時先把圖檔放在一個資料夾中,執行指令ch_dpi.sh,如果不帶資料夾參數,會讓使用者選擇資料夾,再幫你改dpi和尺寸。
檔案原紿碼如下:
#!/bin/bash
if [ "$1" == "" ];then
        ch_size=$(zenity --entry --text=變更圖片大小例如:1024x768,空白則不改變)
        if [ "$ch_size" == "" ];then
                show_ch_size=""
        else
        show_ch_size="-size "$ch_size
        fi

        ch_dir=$(zenity --file-selection --directory)

        if [ "$ch_dir" == "" ];then
                zenity --info --text=取消轉換
        else
                cd $ch_dir
                for i in *.png
                do
                        convert $show_ch_size -density 300 $i $i
                done
                for i in *.jpg
                do
                        convert $show_ch_size -density 300 $i $i
                done
                zenity  --info --text=轉換完成
        fi
else
        cd $1
                for i in *.png
                do
                        convert $show_ch_size -density 300 $i $i
                done
                for i in *.jpg
                do
                        convert $show_ch_size -density 300 $i $i
                done
                zenity  --info --text=轉換完成

fi
 下載這個檔案:
https://docs.google.com/open?id=0Bz6-J_NwALFBQWwwdEJCVUtNYTg
張貼留言