NAME
Image::Resize - Simple image resizer using GD
SYNOPSIS
use Image::Resize;
$image = Image::Resize->new('large.jpg');
$gd = $image->resize(250, 250);
ABSTRACT
Resizes images using GD graphics library
DESCRIPTION
Despite its heavy weight, I've always used Image::Magick for creating image thumbnails. I know it can be done using lighter-weight GD, I just never liked its syntax. Really, who wants to remember the lengthy arguments list of copyResized() or copyResampled() functions:
$image->copyResampled($sourceImage,$dstX,$dstY,
$srcX,$srcY,$destW,$destH,$srcW,$srcH);
when Image::Magick lets me say:
$image->Scale(-geometry=>'250x250');
Image::Resize is one of my attempts to make image resizing easier, more intuitive using GD.
METHODS
- new('path/to/image.jpeg')'
-
constructor method. Creates and returns Image::Resize object. Expects path to the image as its first and only argument. Supported image formats are jpeg, png and gif. Currently extension is required, since its the only way it can identify the file's format. This may, and probably should change in the future.
- resize($width, $height);
- resize($width, $height, $constraint);
-
Returns a GD::Image object of the new, resized image. Original image is not modified. This lets you create multiple thumbnails of an image using the same Image::Resize object.
First two arguments are required, which define new image dimensions. By default
resize()
retains image proportions while resizing. Almost always this is what you expect to happen. In case you don't care about retaining image proportions, pass0
as the third argument toresize()
.Following example creates a 120x120 thumbnail of a "large" image, and stores it in disk:
$image = Image::Resize->new("large.jpg"); $gd = $image->resize(120, 120); open(FH, '>thumbnail.jpg'); print FH $gd->jpeg(); close(FH);
- gd()
-
Returns internal GD::Image object for the original image (the one passed to Image::Resize->new).
- width()
- height()
-
Returns original image's width and height respectively. If you want to get resized image's dimensions, call width() and height() methods on the returned GD::Image object, like so:
$gd = $image->resize(120, 120); printf("Width: %s, Height: %s\n", $gd->width, $height);
SEE ALSO
Image::Info, GD, Image::Magick
AUTHOR
Sherzod B. Ruzmetov, <sherzodr@cpan.org> http://author.handalak.com/
COPYRIGHT AND LICENSE
Copyright 2005 by Sherzod B. Ruzmetov
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.