NAME
Image::JPEG::Size - find the size of JPEG images
SYNOPSIS
use Image::JPEG::Size;
my $jpeg_sizer = Image::JPEG::Size->new;
my ($width, $height) = $jpeg_sizer->file_dimensions($filename);
DESCRIPTION
This module uses libjpeg to rapidly determine the size of one or more
JPEG images.
CONSTRUCTOR
First create an instance of the class:
my $jpeg_sizer = Image::JPEG::Size->new;
The constructor initialises internal libjpeg structures; if that fails,
an exception is thrown.
The constructor takes attributes as either a hash reference or a
listified hash. Unknown attributes are ignored. The following attributes
are understood:
"error"
Specifies the action to take on encountering a non-recoverable error
in an image; see "ERROR HANDLING". Defaults to "fatal".
"warning"
Specifies the action to take on encountering a recoverable error in
an image; see "ERROR HANDLING". Defaults to "warn".
METHODS
"file_dimensions"
You can repeatedly call "file_dimensions" in list context to find the
width and height of your JPEG images:
my ($width, $height) = $jpeg_sizer->file_dimensions($filename);
For now, the JPEG images must be supplied as a filename.
"file_dimensions_hash"
In some cases, you may prefer to get the image dimensions as a hash. The
"file_dimensions_hash" takes a single filename argument, and returns a
listified hash with keys "width" and "height".
ERROR HANDLING
By default, recoverable errors in the image are reported using Perl's
warning mechanism, and non-recoverable errors cause an exception to be
thrown. However, this behaviour can be changed when creating an
Image::JPEG::Size instance. The options are:
"fatal"
Throw an exception with information about the error, and stop
processing this image immediately.
"warn"
Emit a Perl warning with information about the error. If the error
is non-recoverable, image processing stops immediately, and its
dimensions are reported as 0×0 pixels.
"quiet"
Suppress the error entirely. If the error is non-recoverable, image
processing stops immediately, and its dimensions are reported as 0×0
pixels.
AUTHOR
Aaron Crane, <
[email protected]>
The initial development of this module was sponsored by Science Photo
Library <
https://www.sciencephoto.com/>.
COPYRIGHT
Copyright 2017 Aaron Crane.
LICENSE
This library is free software and may be distributed under the same
terms as perl itself. See <
http://dev.perl.org/licenses/>.