圖片掃描亚侠、壓縮腳本

最近需要優(yōu)化程序大小什往,想著先從圖片資源入手软能,正好有一個圖片壓縮網(wǎng)站 https://tinypng.com/迎捺。因此寫了個shell腳本實現(xiàn)掃描需要壓縮的圖片并且上傳到該網(wǎng)站壓縮并下載壓縮后的圖片功能。

  1. 首先需要登錄該壓縮網(wǎng)站獲取一個API Key


    獲取ApiKey
  2. 創(chuàng)建一個compress.sh文件查排,并把下面的內(nèi)容復(fù)制粘貼

#sh compress.sh directory size
#for example:    sh compress.sh . +50k
#默認(rèn)directory為當(dāng)前目錄凳枝、size為+50k
size=$2
#if [[ size="" ]]; then
#   size=+50k
#fi
directory=$1
#if [[ directory="" ]]; then
#   directory=.
#fi
result=$(find $directory \( -path '*/build' -prune -o -path '*/Docs' -prune \) -o \( -name *.png -o -name *.jpg \) -size $size -print)


function compress {

    YOUR_API_KEY=abcdefghijklmnopqrstuvwxyz012345...
    pic_path=$1

    echo " start compress for $pic_path "

    result=$(curl https://api.tinify.com/shrink \
         --user api:$YOUR_API_KEY \
         --data-binary @$pic_path)
    # result="{"input":{"size":69178,"type":"image/png"},"output":{"size":22121,"type":"image/png","width":720,"height":1500,"ratio":0.3198,"url":"https://api.tinify.com/output/8j7tr7mkygc0je25gf5ag792ekd6jt48"}}"
    # grep -P 'http[^"]*"' $result -o
    pic_url=$(echo $result | sed 's/.*\(http[^"}]*\).*/\1/g')
    # pic_path=./screen.png
    #https://api.tinify.com/output/8j7tr7mkygc0je25gf5ag792ekd6jt48
    # echo $pic_url
    curl $pic_url \
         --user api:$YOUR_API_KEY \
         --output ${pic_path}.compress

    echo " compress success for $pic_path "
}

OLD_IFS="$IFS"
IFS=" "
array=($result)
IFS="$OLD_IFS"
for path in ${array[@]}
do
   compress $path
   # echo $path #./Module_Base/src/main/res/drawable-xxhdpi/icon_newuser_first_page1.png
done

# echo $result

echo shell =\> finish
  1. 將獲取的API Key替換compress.sh文件中的abcdefghijklmnopqrstuvwxyz012345...字符串
  2. 最后就是盡情的使用了
    sh compress.sh ${要掃描的目錄} ${大小限制}
    比如: sh compress.sh . +50k 表示掃描當(dāng)前文件夾(包括子文件夾)下的所有大小大于50k的jpg和png圖片并壓縮。
    image.png

    可以明顯的看到 pic_login_bg.jpg文件由59077B變?yōu)榱?1957B雹嗦,壓縮率還是很明顯的范舀。
    image.png

該shell會在當(dāng)前待壓縮圖片的目錄中生成一個 .compress 后綴的壓縮后圖片,如果對壓縮后的圖片滿意了罪,重命名去掉 .compress 后綴即可锭环。

  1. 注意事項
    當(dāng)你想過濾某些文件夾(不必進(jìn)行壓縮,所以都不必需要掃描)泊藕。你可以對源碼的 result=$(find $directory \( -path '*/build' -prune -o -path '*/Docs' -prune \) -o \( -name *.png -o -name *.jpg \) -size $size -print) 該行進(jìn)行修改辅辩。
    簡單提下, -path '*/build' -prune -o -path '*/Docs' -prune 這一段代碼就是過濾所有 build文件夾和 Docs文件夾下的圖片。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末玫锋,一起剝皮案震驚了整個濱河市蛾茉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撩鹿,老刑警劉巖谦炬,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異节沦,居然都是意外死亡键思,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門甫贯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吼鳞,“玉大人,你說我怎么就攤上這事叫搁∨庾溃” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵渴逻,是天一觀的道長疾党。 經(jīng)常有香客問我,道長裸卫,這世上最難降的妖魔是什么仿贬? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮墓贿,結(jié)果婚禮上茧泪,老公的妹妹穿的比我還像新娘。我一直安慰自己聋袋,他們只是感情好队伟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幽勒,像睡著了一般嗜侮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上啥容,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天锈颗,我揣著相機(jī)與錄音,去河邊找鬼咪惠。 笑死击吱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的遥昧。 我是一名探鬼主播覆醇,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼朵纷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了永脓?” 一聲冷哼從身側(cè)響起袍辞,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎常摧,沒想到半個月后搅吁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡排宰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年似芝,在試婚紗的時候發(fā)現(xiàn)自己被綠了那婉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片板甘。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖详炬,靈堂內(nèi)的尸體忽然破棺而出盐类,到底是詐尸還是另有隱情,我是刑警寧澤呛谜,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布在跳,位于F島的核電站,受9級特大地震影響隐岛,放射性物質(zhì)發(fā)生泄漏猫妙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一聚凹、第九天 我趴在偏房一處隱蔽的房頂上張望割坠。 院中可真熱鬧,春花似錦妒牙、人聲如沸彼哼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敢朱。三九已至,卻和暖如春摩瞎,著一層夾襖步出監(jiān)牢的瞬間拴签,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工旗们, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚓哩,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓蚪拦,卻偏偏與公主長得像杖剪,于是被迫代替她去往敵國和親冻押。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348