Subversion Repositories wimsdev

Rev

Go to most recent revision | Details | 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
 
4
cd `dirname $0`
5
flydraw=../../../../other/bin/flydraw
6
 
7
list=`cd photos; ls *.gif | sed 's/.gif$//'`
8
 
9
for name in $list
10
do
11
if [ "$name" = "small" ]; then continue; fi
12
if [ -f pieces/$name/2/p.0.0.gif ]; then continue; fi
13
 
14
photo=photos/$name.gif
15
siz=`(identify -verbose '%x:%y' $photo | grep -i 'geometry:' \
16
     | grep -iv page | awk '{print $2}') 2>/dev/null`
17
if [ -z "$siz" ]; then
18
 echo ImageMagick missing in your system. Impossible to cut photos.
19
 echo Program aborted.
20
 exit
21
fi
22
sizex=`echo $siz | awk -F x '{print $1}'`
23
sizey=`echo $siz | awk -F x '{print $2}'`
24
echo Cutting photo $name: $sizex x $sizey
25
 
26
mkdir -pm 755 pieces/$name
27
 
28
for q in 2 3 4 5 7 8 9 11
29
do
30
 if [ ! -d pieces/$name/$q ]; then mkdir -m 755 pieces/$name/$q; fi
31
 xp=`expr $sizex / $q`
32
 yp=`expr $sizey / $q`
33
 xpp=`expr $xp - 1`
34
 ypp=`expr $yp - 1`
35
 x=0
36
 while [ $x -lt $q ]; do
37
  xstart=`expr $xp \* $x`
38
  xend=`expr $xstart + $xp - 2`
39
  y=0
40
  while [ $y -lt $q ]; do
41
   ystart=`expr $yp \* \( $q - $y - 1 \)`
42
   yend=`expr $ystart + $yp - 2`
43
   $flydraw pieces/$name/$q/p.$x.$y.gif <<@ >/dev/null
44
new
45
size $xpp,$ypp
46
copy 0,0,$xstart,$ystart,$xend,$yend,$photo
47
@
48
   y=`expr $y + 1`
49
  done
50
  x=`expr $x + 1`
51
 done
52
 $flydraw pieces/$name/$q/p.bad.gif <<@ >/dev/null
53
new
54
size $xp,$yp
55
fill 0,0,0,0,0
56
@
57
 chmod a+r pieces/$name/$q/*.gif
58
done
59
 
60
done
61