Imported Upstream version 9109
[sgt-puzzles/ydirson.git] / icons / crop.sh
blob0d15d3c9b93e97d5414de4e0e6accaefe5fbe782
1 #!/bin/sh
3 # Crop one image into another, after first checking that the source
4 # image has the expected size in pixels.
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.
16 infile="$1"
17 outfile="$2"
18 insize="$3"
19 crop="$4"
21 # Special case: if no input size or crop parameter was specified at
22 # all, we just copy the input to the output file.
24 if test $# -lt 3; then
25 cp "$infile" "$outfile"
26 exit 0
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
36 # And crop.
37 convert -crop "$crop" "$infile" "$outfile"