File: makepieces

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (62 lines) | stat: -rwxr-xr-x 1,428 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#! /bin/sh
# This is a script to break a gif photo into pieces.

cd `dirname $0`
flydraw=../../../../other/bin/flydraw

list=`cd ../photos; ls *.gif | sed 's/.gif$//'`

for name in $list
do
if [ "$name" = "small" ]; then continue; fi
if [ -f pieces/$name/2/p.0.0.gif ]; then continue; fi

photo=../photos/$name.gif
#siz=`(identify -verbose '%x:%y' $photo | grep -i 'geometry:' \
#     | grep -iv page | awk '{print $2}') 2>/dev/null`
siz=`identify -format '%wx%h' $photo`
if [ -z "$siz" ]; then
 echo ImageMagick missing in your system. Impossible to cut photos.
 echo Program aborted.
 exit
fi
sizex=`echo $siz | awk -F x '{print $1}'`
sizey=`echo $siz | awk -F x '{print $2}'`
echo Cutting photo $name: $sizex x $sizey

mkdir -pm 755 pieces/$name

for q in 2 3 4 5 7 8 9 11
do
 if [ ! -d pieces/$name/$q ]; then mkdir -m 755 pieces/$name/$q; fi
 xp=`expr $sizex / $q`
 yp=`expr $sizey / $q`
 xpp=`expr $xp - 1`
 ypp=`expr $yp - 1`
 x=0
 while [ $x -lt $q ]; do
  xstart=`expr $xp \* $x`
  xend=`expr $xstart + $xp - 2`
  y=0
  while [ $y -lt $q ]; do
   ystart=`expr $yp \* \( $q - $y - 1 \)`
   yend=`expr $ystart + $yp - 2`
   $flydraw pieces/$name/$q/p.$x.$y.gif <<@ >/dev/null
new
size $xpp,$ypp
copy 0,0,$xstart,$ystart,$xend,$yend,$photo
@
   y=`expr $y + 1`
  done
  x=`expr $x + 1`
 done
 $flydraw pieces/$name/$q/p.bad.gif <<@ >/dev/null
new
size $xp,$yp
fill 0,0,0,0,0
@
 chmod a+r pieces/$name/$q/*.gif
done

done