NAME

Image::Thumbnail - simple thumbnails with GD/ImageMagick

SYNOPSIS

use Image::Thumbnail;

# Create a thumbnail from 'test.jpg' as 'test_t.jpg'
# using ImageMagick, or GD.
my $t = new Image::Thumbnail(
	size       => 55,
	create     => 1,
	inputpath  => 'test.jpg',
	outputpath => 'test_t.jpg',
);

my $t = new Image::Thumbnail(
	size       => "55x75",
	create     => 1,
	module	   => "Image::Magick",
	object	   => $imageObject,
	outputpath => 'test_t.jpg',
);

# Create a thumbnail from 'test.jpg' as 'test_t.jpg'
# using GD.
my $t = new Image::Thumbnail(
	module     => 'GD',
	size       => 55,
	create     => 1,
	inputpath  => 'test.jpg',
	outputpath => 'test_t.jpg',
);

# Create a thumbnail as 'test_t.jpg' from an ImageMagick object
# using ImageMagick, or GD.
my $t = new Image::Thumbnail(
	size       => "55x25",
	create     => 1,
	object     => $my_image_magick_object,
	outputpath => 'test_t.jpg',
);

# Create four more of ever-larger sizes
for (1..4){
	$t->{size} = 55+(10*$_);
	$t->create;
}

exit;

DESCRIPTION

This module allows you to easily make thumbnail images from files or objects, using either the ImageMagick or GD library.

Thumbnails can be created, and either saved as image files or accessed as objects: see create.

I made Image::GD::Thumbnail a few years ago for myself, put it on CPAN because I need to get to it elsewhere and it's cheap storage. A few people asked for a ImageMagick version, so I made that, and then put them together in this.

PREREQUISITES

Image::Magick or GD.

CONSTRUCTOR new

Parameters are supplied as a hash or hash-like structure of pairs: See the "SYNOPSIS".

REQUIRED PARAMETERS

size

The size you with the longest side of the thumbnail to be. This may be provided as a single integer, or as an ImageMagick-style 'geometry' such as 100x120.

PARAMETERS TO CHOOSE FROM

You must supply one of either:

object

An object-reference created by your chosen package. Naturally you can't supply this field if you haven't specified a module field (see above).

inputpath

Path to an image to use as the source file.

OPTIONAL PARAMETERS

module ( GD | ImageMagick )

If you wish to use a specific module, place its name here. You must have the module you require already installed!

Supplying no name will allow ImageMagick to be tried before GD.

create

Put any value in this field if you wish the constructor to call the create method automatically before returning.

inputtype, outputtype

If you are using GD, you can explicitly set the input and output formats for the image file, provided you use a string that can be evaluated to a GD-supported image format (see GD).

Default behaviour is to attempt to ascertin the file type and to create the thumbnail in the same format. If the type cannot be defined (you are using GD, have supplied the object field and not the outputtype field) then the output file format defaults to jpeg.

depth

Sets colour depth in ImageMagick - GD only supports 8-bit.

The ImageMagick manpage (see http://www.imagemagick.org/www/ImageMagick.html#opti). says:

density

ImageMagick only: sets the pixel density. Must be a valid ImageMagick 'geometry' value (that is, two numbers giving the x and y dimensions, delimited by a lower-case x. Default value is 96x96.

quality

ImageMagick only: an integer from 1 to 100 to specify the thumbnail quality. Defaults to 50.

attr

If you are using ImageMagick, this field should contain a hash of ImageMagick attributes to pass to the ImageMagick Set command when the thumbnail is created. Any errors these may generate are not yet caught.

PARAMETERS SET

x,y

The dimension of the thumbnail produced.

CHAT

Put any value in this field for real-time process info.

ERRORS

As of version 0.4, any errors are stored in the fields error, warnings in warning - at least for Image::Magick.

Any errors will be printed to STDOUT. If they completely prevent processing, they will be fatal (croaked). If partial processing has taken place by the explicit or implicit calling of the create method, then the field of the same name will have value.

Depending on how far processing has proceded, other fields may have useful values: the module field will contain the name of the module used; the object field may contain an object of the module used; the thumb field may contain a thumbnail image.

METHOD create

Creates a thumbnail using the supplied object. This method is called automatically if you construct with the create field flagged.

Sets the following fields:

module

Will contain the name of the module used (set by this module if not by the user);

object

Will contain an instance of the module used;

thumb

Will contain the thumbnail image.

Returns c<undef> on failure.

EXPORT

None.

CHANGES

Version 0.51 (13 December 2005): added Himmy's patch to return true from Image::Magick routine - thanks!

Version 0.5 (17 April 2005): fixed occasional geometry bug.

Version 0.43 (17 Novemeber 2004): fixed tests, added size/geo param.

Version 0.41 (15 January 2003): lots of bits, including typo spotted by Sam Tregar.

Version 0.02 (10 June 2002): added attr and depth fields.

Version 0.03 (10 June 2002): tardist bug fixed.

SEE ALSO

perl, GD, Image::Magick, Image::Magick::Thumbnail, Image::GD::Thumbnail.

AUTHOR

Lee Goddard <cpan-at-leegoddard-dot-net>

COPYRIGT

Copyright (C) Lee Godadrd 2001-2005. All rights reserved. Supplied under the same terms as Perl itself.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 182:

You forgot a '=back' before '=head2'

Around line 192:

'=item' outside of any '=over'