Rev 562 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
535 | bpr | 1 | #! /bin/sh |
2 | # This is a script to break a gif photo into pieces. |
||
3 | # Flydraw is used to do it. |
||
4 | |||
5 | cd `dirname $0` |
||
6 | flydraw=../../../../other/bin/flydraw |
||
562 | bpr | 7 | pics=`cd ../photos; ls *.gif | sed 's/.gif$//'` |
535 | bpr | 8 | levels="2x2 2x3 3x3 3x4 4x5" |
9 | |||
10 | p=`echo $pics` |
||
11 | echo !set photos=$p >photindex |
||
12 | echo !set levels=!words2items $levels >>photindex |
||
13 | |||
14 | for name in $pics |
||
15 | do |
||
563 | bpr | 16 | if [ "$name" = "small" ]; then continue; fi |
535 | bpr | 17 | if [ ! -d pieces/$name ] || [ pieces/$name -ot photos/$name.gif ]; then |
562 | bpr | 18 | photo=../photos/$name.gif |
19 | #siz=`(identify -verbose '%x:%y' $photo | grep -i 'geometry:' \ |
||
20 | # | grep -iv page | awk '{print $2}') 2>/dev/null` |
||
21 | siz=`identify -format '%wx%h' $photo` |
||
535 | bpr | 22 | if [ -z "$siz" ]; then |
23 | echo ImageMagick missing in your system. Impossible to cut photos. |
||
24 | echo Program aborted. |
||
25 | exit |
||
26 | fi |
||
27 | sizex=`echo $siz | awk -F x '{print $1}'` |
||
28 | sizey=`echo $siz | awk -F x '{print $2}'` |
||
29 | echo Cutting $photo: $sizex x $sizey |
||
30 | |||
562 | bpr | 31 | mkdir -pm 755 pieces |
535 | bpr | 32 | if [ ! -d pieces/$name ]; then mkdir -m 755 pieces/$name; fi |
33 | touch pieces/$name |
||
34 | |||
35 | for q in $levels |
||
36 | do |
||
37 | echo q=$q |
||
38 | qy=`echo $q | awk -F x '{print $1}'` |
||
39 | qx=`echo $q | awk -F x '{print $2}'` |
||
40 | if [ ! -d pieces/$name/$q ]; then mkdir -m 755 pieces/$name/$q; fi |
||
41 | xp=`expr $sizex / $qx` |
||
42 | yp=`expr $sizey / $qy` |
||
43 | xpp=`expr $xp - 1` |
||
44 | ypp=`expr $yp - 1` |
||
45 | x=0 |
||
46 | while [ $x -lt $qx ]; do |
||
47 | xstart=`expr $xp \* $x` |
||
48 | xend=`expr $xstart + $xp - 2` |
||
49 | y=0 |
||
50 | while [ $y -lt $qy ]; do |
||
51 | ystart=`expr $yp \* $y` |
||
52 | yend=`expr $ystart + $yp - 2` |
||
53 | $flydraw pieces/$name/$q/p.$x.$y.gif <<@ |
||
54 | new |
||
55 | size $xpp,$ypp |
||
56 | fill 0,0,192,192,192 |
||
57 | copy 0,0,$xstart,$ystart,$xend,$yend,$photo |
||
58 | @ |
||
59 | y=`expr $y + 1` |
||
60 | done |
||
61 | x=`expr $x + 1` |
||
62 | done |
||
63 | # $flydraw -o pieces/$name/$q/p.bad.gif <<@ 2>/dev/null |
||
64 | #new |
||
65 | #size $xp,$yp |
||
66 | #fill 0,0,0,0,0 |
||
67 | #@ |
||
68 | chmod a+r pieces/$name/$q/*.gif |
||
69 | done |
||
70 | |||
71 | fi |
||
72 | done |