chiark / gitweb /
Tents: mark squares as non-tents with {Shift,Control}-cursor keys.
[sgt-puzzles.git] / icons / crop.sh
1 #!/bin/sh 
2
3 # Crop one image into another, after first checking that the source
4 # image has the expected size in pixels.
5 #
6 # This is used in the Puzzles icon build scripts to construct icons
7 # which are zoomed in on a particular sub-area of the puzzle's
8 # basic screenshot. This way I can define crop areas in pixels,
9 # while not having to worry too much that if I adjust the source
10 # puzzle so as to alter the layout the crop area might start
11 # hitting the wrong bit of picture. Most layout changes I can
12 # conveniently imagine will also alter the overall image size, so
13 # this script will give a build error and alert me to the fact that
14 # I need to fiddle with the icon makefile.
15
16 infile="$1"
17 outfile="$2"
18 insize="$3"
19 crop="$4"
20
21 # Special case: if no input size or crop parameter was specified at
22 # all, we just copy the input to the output file.
23
24 if test $# -lt 3; then
25   cp "$infile" "$outfile"
26   exit 0
27 fi
28
29 # Check the input image size.
30 realsize=`identify -format %wx%h "$infile"`
31 if test "x$insize" != "x$realsize"; then
32   echo "crop.sh: '$infile' has wrong initial size: $realsize != $insize" >&2
33   exit 1
34 fi
35
36 # And crop.
37 convert -crop "$crop" "$infile" "$outfile"