#!/bin/sh # Crop a set of image files # # usage: # # example% batch_crop left top width height image1 image2 etc # # writes output images crop_image1, crop_image2 # default prefix VIPSHOME=${VIPSHOME-@prefix@} name=`basename $0` # check args if [ $# -lt 5 ]; then echo "usage: $name left top width height image1 image2 ..." echo echo "$name writes a new set of images called crop_image1, " echo "crop_image2, etc., each cropped to the specified size" exit 1 fi left=$1 top=$2 width=$3 height=$4 shift 4 # convert each argument for i in $*; do dir=`dirname $i` file=`basename $i` new=$dir/crop_$file echo "Cropping $file as $new ..." if [ -f $new ]; then echo "$new exists, skipping" else $VIPSHOME/bin/vips im_extract_area $i $new $left $top $width $height fi done