- close (IMG);
- if (defined $srcimage) {
- my $mimetype = 'image/png'; # GD autodetects three basic image formats: PNG, JPEG, XPM; we will convert all to PNG which is lossless...
- # Check the pixel size of the image we are about to import...
- my ($width, $height) = $srcimage->getBounds();
- $debug and warn "$filename is $width pix X $height pix.";
- if ($width > 200 || $height > 300) { # MAX pixel dims are 200 X 300...
- $debug and warn "$filename exceeds the maximum pixel dimensions of 200 X 300. Resizing...";
- my $percent_reduce; # Percent we will reduce the image dimensions by...
- if ($width > 200) {
- $percent_reduce = sprintf("%.5f",(140/$width)); # If the width is oversize, scale based on width overage...
- } else {
- $percent_reduce = sprintf("%.5f",(200/$height)); # otherwise scale based on height overage.
- }
- my $width_reduce = sprintf("%.0f", ($width * $percent_reduce));
- my $height_reduce = sprintf("%.0f", ($height * $percent_reduce));
- $debug and warn "Reducing $filename by " . ($percent_reduce * 100) . "\% or to $width_reduce pix X $height_reduce pix";
- $image = GD::Image->new($width_reduce, $height_reduce, 1); #'1' creates true color image...
- $image->copyResampled($srcimage,0,0,0,0,$width_reduce,$height_reduce,$width,$height);
- $imgfile = $image->png();
- $debug and warn "$filename is " . length($imgfile) . " bytes after resizing.";
- undef $image;
- undef $srcimage; # This object can get big...
- } else {
- $image = $srcimage;
- $imgfile = $image->png();
- $debug and warn "$filename is " . length($imgfile) . " bytes.";
- undef $image;
- undef $srcimage; # This object can get big...
- }
- $debug and warn "Image is of mimetype $mimetype";
+ close(IMG);
+ if ( defined $srcimage ) {
+ my $imgfile;
+ my $mimetype = 'image/png';
+ # GD autodetects three basic image formats: PNG, JPEG, XPM
+ # we will convert all to PNG which is lossless...
+ # Check the pixel size of the image we are about to import...
+ my ( $width, $height ) = $srcimage->getBounds();
+ $debug and warn "$filename is $width pix X $height pix.";
+ if ( $width > 200 || $height > 300 ) {
+ # MAX pixel dims are 200 X 300...
+ $debug and warn "$filename exceeds the maximum pixel dimensions of 200 X 300. Resizing...";
+ # Percent we will reduce the image dimensions by...
+ my $percent_reduce;
+ if ( $width > 200 ) {
+ # If the width is oversize, scale based on width overage...
+ $percent_reduce = sprintf( "%.5f", ( 140 / $width ) );
+ }
+ else {
+ # otherwise scale based on height overage.
+ $percent_reduce = sprintf( "%.5f", ( 200 / $height ) );
+ }
+ my $width_reduce =
+ sprintf( "%.0f", ( $width * $percent_reduce ) );
+ my $height_reduce =
+ sprintf( "%.0f", ( $height * $percent_reduce ) );
+ $debug
+ and warn "Reducing $filename by "
+ . ( $percent_reduce * 100 )
+ . "\% or to $width_reduce pix X $height_reduce pix";
+ #'1' creates true color image...
+ $image = GD::Image->new( $width_reduce, $height_reduce, 1 );
+ $image->copyResampled( $srcimage, 0, 0, 0, 0, $width_reduce,
+ $height_reduce, $width, $height );
+ $imgfile = $image->png();
+ $debug
+ and warn "$filename is "
+ . length($imgfile)
+ . " bytes after resizing.";
+ undef $image;
+ undef $srcimage; # This object can get big...
+ }
+ else {
+ $image = $srcimage;
+ $imgfile = $image->png();
+ $debug
+ and warn "$filename is " . length($imgfile) . " bytes.";
+ undef $image;
+ undef $srcimage; # This object can get big...
+ }
+ $debug and warn "Image is of mimetype $mimetype";