bip: Batch Image Processor


    This simple Command line utility allows you to process (ie scale, rotate,
    change format and quality) a collection of image files.  This arose from
    my need to find a simple way to reduce photos for emailing to family and
    friends.

    Copyright (c) 2006, Ian Hogan, THINKronicity Pty Ltd.  (http://THINKronicity.com.au/)
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    This program uses:

        Python 2.4.2:
            Copyright (c) 2001-2004 Python Software Foundation.
                          All rights reserved.
            Copyright (c) 2000 BeOpen.com. All rights reserved.
            Copyright (c) 1995-2000 Corporation for National Research
                          Initiatives. All rights reserved.
            Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
                          All rights reserved.

        The Python Imaging Library (PIL), which is:
            Copyright (c) 1997-2005 by Secret Labs AB
            Copyright (c) 1995-2005 by Fredrik Lundh

        py2exe - convert python scripts into standalone windows programs
            Copyright (c) 2001-2006 Thomas Heller, Mark Hammond, Joachim Bauch,
                          Jimmy Retzlaff, and contributors.


    Release log
    Version Who When    What
    ------- --- ------- ------------------------------------------------------
       1.0  IMH 30Jun06 Initial release.

       1.1  IMH 11Jul06 Added -H, -w and -t parameters.  Change option parsing
                        to use module OptionParser rather than getopt.

       1.2  IMH 12Jul06 Print usage notes rather than fail if no parameters.
    ------- --- ------- ------------------------------------------------------

usage: bip [options]

options:
  -h, --help            show this help message and exit
  -i INPUT, --input=INPUT
                        File name or wildcard for files to be processed.  The
                        wildcard is expanded at the start of the processing,
                        so output files are not accidently re-processed.
  -o OUTPUT, --output=OUTPUT
                        Name of the output file, if there is a single input
                        file. If there is more than one input file and you
                        specify an output file, this will be the output from
                        the last input file and all earlier transformations
                        will be lost. Hey, it just does what you tell it to
                        ;-)
  -u SUFFIX, --suffix=SUFFIX
                        Instead of output you can specify a suffix to be
                        appended to the input file name. The default is
                        _S.<fmt> where <fmt> is the extension associated with
                        the output format specified by the -f option.  For
                        JPEG the extension is JPG and for all other formats it
                        is the same as the format specifier.
  -f FORMAT, --format=FORMAT
                        One of the supported output formats, namely: ['JPEG',
                        'PNG', 'GIF', 'PCX', 'PPM', 'BMP']. Default is
                        indicated by the output file extension.
  -s SCALE, --scale=SCALE
                        Scale factor as a percent, eg 50 for 50% reduction in
                        the size.  There is no option to distort the image -
                        the aspect ratio remains the same as the original.

  -H HEIGHT, --height=HEIGHT

                        Desired height, in pixels, or the output image. Use
                        this instead of scale to control the output image
                        size. If the width is not given, the aspect ratio
                        remains the same as the original.
  -w WIDTH, --width=WIDTH
                        Desired width, in pixels, or the output image. Use
                        this instead of scale to control the output image
                        size.If the height is not given, the aspect ratio
                        remains the same as the original.
  -r ROTATE, --rotate=ROTATE
                        Rotation in degrees clockwise.  Eg use -90 to rotate
                        the image a quarter turn anti-clockwise.
  -q QUALITY, --quality=QUALITY
                        For those formats with take a quality parameter, this
                        option supplies the value to use.
  -d DIRECTORY, --directory=DIRECTORY
                        Output directory.  By default this is the same
                        directory as the input file(s).
  -z, --optimize        If this option is specified the application attempts
                        to save the output file in optimized format.  If this
                        fails the normal format is used.
  -t, --trace           If this option is specified trace messages are printed
                        for debugging.