利用imagemagick來(lái)處理圖片

imagemagick:一個(gè)相當(dāng)強(qiáng)大的圖象處理庫(kù)押袍。

準(zhǔn)備工作:

  • 安裝homebrew:
    Homebrew的安裝很簡(jiǎn)單雳攘,只需在終端下輸入如下指令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安裝imagemagick
brew install imagemagick

圖片處理

  • 寫一個(gè)圖片處理腳本劝赔,然后終端執(zhí)行腳本

圖片處理腳本

1.利用2x圖片來(lái)生成1x圖片的腳本

#! /bin/bash
# File name : convertImage.sh
# Author: Tang Qiao
# 
# print usage
usage() {
    cat << EOF
    Usage:
        convertImage.sh <src directory> <dest directory>
EOF
}
if [ $# -ne 2 ]; then
    usage
    exit 1
fi
SRC_DIR=$1
DEST_DIR=$2
# check src dir
if [ ! -d $SRC_DIR ]; then
    echo "src directory not exist: $SRC_DIR"
    exit 1
fi
# check dest dir
if [ ! -d $DEST_DIR ]; then
    mkdir -p $DEST_DIR
fi
for src_file in $SRC_DIR/*.* ; do
    echo "process file name: $src_file"
    # 獲得去掉文件名的純路徑
    src_path=`dirname $src_file`
    # 獲得去掉路徑的純文件名
    filename=`basename $src_file`
    # 獲得文件名字 (不包括擴(kuò)展名)
    name=`echo "$filename" | cut -d'.' -f1`
    # remove @2x in filename if there is
    name=`echo "$name" | cut -d"@" -f1`
    # 獲得文件擴(kuò)展名
    extension=`echo "$filename" | cut -d'.' -f2`
    dest_file="$DEST_DIR/${name}.${extension}"
    convert $src_file -resize 50% $dest_file
done

腳本使用方法:

腳本文件路徑 源文件夾路徑 目標(biāo)文件夾路徑
/Users/juyu/Desktop/convertImage.sh /Users/juyu/Desktop/sourceImage /Users/juyu/Desktop/destiImage

2.檢查圖片寬高是否是偶數(shù)的腳本

#! /bin/bash
# File name : checkImageSize.sh
# Author: Tang Qiao
# 
usage() {
    cat <<EOF
    Usage:
        checkImageSize.sh <directory>
EOF
}
if [ $# -ne 1 ]; then
    usage
    exit 1
fi
SRC_DIR=$1
# check src dir
if [ ! -d $SRC_DIR ]; then
    echo "src directory not exist: $SRC_DIR"
    exit 1
fi
for src_file in $SRC_DIR/*.png ; do
    echo "process file name: $src_file"
    width=`identify -format "%[fx:w]" $src_file`
    height=`identify -format "%[fx:h]" $src_file`
    # check width
    modValue=`awk -v a=$width 'BEGIN{printf "%d", a % 2}'`
    if [ "$modValue" == "1" ]; then
       echo "[Error], the file $src_file width is $width" 
    fi
    # check height
    modValue=`awk -v a=$height 'BEGIN{printf "%d", a % 2}'`
    if [ "$modValue" == "1" ]; then
       echo "[Error], the file $src_file height is $height" 
    fi
done

腳本使用方法:

腳本文件路徑 文件夾路徑
/Users/juyu/Desktop/convertImage.sh /Users/juyu/Desktop/sourceImage

修改圖片文件 Hash 值

使用 ImageMagick 對(duì) png 圖片做輕量壓縮,及不損失圖片質(zhì)量邓萨,又可改變圖片文件 hash 值朋沮。方法:
1.切換至工程目錄
2.執(zhí)行

find . -iname "*.png" -exec echo {} \; -exec convert {} {} \;

參考文章:
http://blog.devtang.com/2012/08/26/use-script-to-power-up-ui-work/
https://github.com/oneyian/SpamCode

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市囱淋,隨后出現(xiàn)的幾起案子猪杭,更是在濱河造成了極大的恐慌,老刑警劉巖妥衣,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皂吮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡税手,警方通過(guò)查閱死者的電腦和手機(jī)蜂筹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)芦倒,“玉大人艺挪,你說(shuō)我怎么就攤上這事∥醣” “怎么了闺属?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)周霉。 經(jīng)常有香客問(wèn)我掂器,道長(zhǎng),這世上最難降的妖魔是什么俱箱? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任国瓮,我火速辦了婚禮,結(jié)果婚禮上狞谱,老公的妹妹穿的比我還像新娘乃摹。我一直安慰自己,他們只是感情好跟衅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布孵睬。 她就那樣靜靜地躺著,像睡著了一般伶跷。 火紅的嫁衣襯著肌膚如雪掰读。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天叭莫,我揣著相機(jī)與錄音蹈集,去河邊找鬼。 笑死雇初,一個(gè)胖子當(dāng)著我的面吹牛拢肆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼郭怪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼支示!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起移盆,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤悼院,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咒循,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绞愚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年叙甸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片位衩。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裆蒸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出糖驴,到底是詐尸還是另有隱情僚祷,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布贮缕,位于F島的核電站辙谜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏感昼。R本人自食惡果不足惜装哆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望定嗓。 院中可真熱鬧蜕琴,春花似錦、人聲如沸宵溅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恃逻。三九已至雏搂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辛块,已是汗流浹背畔派。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留润绵,地道東北人线椰。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像尘盼,于是被迫代替她去往敵國(guó)和親憨愉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烦绳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 在你完成應(yīng)用程序的beta版本后,最后會(huì)有些人去幫你測(cè)試配紫,使你去完善應(yīng)用程序……或者會(huì)有投資青睞径密。但是如果測(cè)試人員...
    zmp1123閱讀 6,710評(píng)論 15 46
  • 1、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,980評(píng)論 3 119
  • 女孩A說(shuō)躺孝,她自己都已經(jīng)25了享扔,還沒談過(guò)戀愛,感覺非常對(duì)不起自己的青春植袍。 女孩B說(shuō)惧眠,她在大學(xué)時(shí)談了幾個(gè)男友,后來(lái)都黃...
    灰鴿1號(hào)閱讀 284評(píng)論 0 3
  • 我喜歡深存感恩之心又獨(dú)自遠(yuǎn)行的女人于个。知道謝父母氛魁,卻不盲從;知道謝天地厅篓;卻不自戀秀存;知道謝朋友,卻不依賴羽氮;知道謝每一粒...
    三十多歲多閱讀 248評(píng)論 0 1
  • 這是一個(gè)網(wǎng)絡(luò)互動(dòng)瘋狂的年代或链,在現(xiàn)實(shí)生活中,人和人之間即便是在熟悉的人之間也沒有這么熱情的互動(dòng)現(xiàn)象乏苦。網(wǎng)絡(luò)上株扛,尤其是一...
    竹坑閱讀 160評(píng)論 0 1