mac上でimagealphaコマンドを使用してピクチャを圧縮バッチ処理する

4899 ワード

 1 #! /bin/bash
 2 
 3 
 4 #BASE_DIR="/Users/jiading/Documents/basepng";
 5 #OUTPUT_DIR="/Users/jiading/Documents/output";
 6 BASE_DIR="/Users/jiading/Documents/SwordsmanApp/art/     /  -   /9_       ";
 7 OUTPUT_DIR="/Users/jiading/Documents/SwordsmanApp/art/     /  -   output    9";
 8 
 9 CUR_READ_DIR="";
10 CUR_WRITE_DIR="";
11 
12 
13 dopng(){
14 
15 readPng=$1;
16 writePng=$2;
17 fileName=$3;
18 fileName=${fileName%.*}".png";
19 echo "  : "$fileName;
20 
21 #speed  1-11
22 
23 sudo /Applications/ImageAlpha.app/Contents/MacOS/pngquant -f $readPng -o $writePng"/$fileName" --quality 10 --speed 1 --nofs  --posterize 0
24 
25 
26 }
27 
28 
29 loopDir(){
30 
31 #1         
32 cd $1;
33 
34    for file in *;
35          do
36 
37 localReadDir=$1;
38 localWriteDir=$2;
39 
40 
41         if [ -d $file ];then
42             echo $file" is a dir";
43 
44 #2       
45 CUR_WRITE_DIR=$localWriteDir"/$file"
46 
47 #3        
48 echo ""$CUR_WRITE_DIR;
49 mkdir $CUR_WRITE_DIR
50 
51 #4        
52 loopDir $localReadDir"/$file" $localWriteDir"/$file"
53 
54 #5               
55 cd $1;
56 
57         elif [ -f $file ];then
58 
59 
60         dopng $localReadDir"/$file" $localWriteDir "$file"
61 
62         fi
63 
64         done
65 
66 }
67 
68 main(){
69 
70 #1,     
71 if [ -d $OUTPUT_DIR ];then
72 echo "ouput     ,    ";
73 rm -rf $OUTPUT_DIR
74 fi
75 
76 #2,  output   
77 mkdir $OUTPUT_DIR
78 
79 
80 #3,      
81 CUR_READ_DIR=$BASE_DIR
82 CUR_WRITE_DIR=$OUTPUT_DIR
83 loopDir $CUR_READ_DIR $CUR_WRITE_DIR
84 
85 echo "=-=-=-    =-=-=-="
86 }
87 
88 main