| Image-Magick-Thumbnail-Simple documentation | Contained in the Image-Magick-Thumbnail-Simple distribution. |
Image::Magick::Thumbnail::Simple - The thumbnail image is easily made without uselessness.
use Image::Magick::Thumbnail::Simple;
my $t = new Image::Magick::Thumbnail::Simple;
$t -> thumbnail(
input => 'input.jpg',
output => 'output.jpg',
size => 128,
) or die $t -> error;
use Image::Magick::Thumbnail::Simple;
my $t = new Image::Magick::Thumbnail::Simple;
binmode STDOUT;
print "Content-type: image/jpeg\n\n";
$t -> thumbnail(
input => 'input.jpg',
output => 'jpg:-',
size => 128,
) or die $t -> error;
It is succeeded to as long as it doesn't individually specify it at all the following.
$t = new Image::Magick::Thumbnail::Simple(
size => 128,
blur => 0.8,
quality => 80,
);
It is effective for jpeg format. The value is between from 0 to 100.
$t -> size( 128 ); $t -> blur( 0.8 ); $t -> quality( 80 );
The input and the output can be specified only for individual.
$t -> thumbnail(
input => 'input,jpg',
output => 'output.jpg',
size => 128,
blur => 0.8,
quality => 80,
);
$width = $t -> width;
$height = $t -> height;
The thumbnail image can be easily made by using Image::Magick. A basic setting is the same as Image::Magick. Only the processing of the resize of the image is treated. The version opened to the public is 0.10. In 0.12, it came to return a size that corrected of the explanation and was thumbnail.
Image::Magick
Satoshi Ishikawa <cpan@penlabo.net>
Copyright (C) 2008 Satoshi Ishikawa
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
| Image-Magick-Thumbnail-Simple documentation | Contained in the Image-Magick-Thumbnail-Simple distribution. |
package Image::Magick::Thumbnail::Simple; use 5.008008; use strict; use warnings; our $VERSION = '0.12'; require Image::Magick; my $error = q{}; #------------------------------------------------------------------------------- # Module declaration #------------------------------------------------------------------------------- sub new { my $proto = shift; my %argv = @_; my $class = ref( $proto ) || $proto; my $self = { SIZE => $argv{'size'} || undef, BLUR => $argv{'blur'} || 1, QUALITY => $argv{'quality'} || undef, WIDTH => undef, HEIGHT => undef, }; bless( $self, $class ); return $self; } #------------------------------------------------------------------------------- # error #------------------------------------------------------------------------------- sub error { my $self = shift; return $error; } #------------------------------------------------------------------------------- # size #------------------------------------------------------------------------------- sub size { my $self = shift; if( @_ ){ $self -> {SIZE} = shift } return $self -> {SIZE}; } #------------------------------------------------------------------------------- # blur #------------------------------------------------------------------------------- sub blur { my $self = shift; if( @_ ){ $self -> {BLUR} = shift } return $self -> {BLUR}; } #------------------------------------------------------------------------------- # quality #------------------------------------------------------------------------------- sub quality { my $self = shift; if( @_ ){ $self -> {QUALITY} = shift } return $self -> {QUALITY}; } #------------------------------------------------------------------------------- # width #------------------------------------------------------------------------------- sub width { my $self = shift; return $self -> {WIDTH}; } #------------------------------------------------------------------------------- # height #------------------------------------------------------------------------------- sub height { my $self = shift; return $self -> {HEIGHT}; } #------------------------------------------------------------------------------- # thumbnail #------------------------------------------------------------------------------- sub thumbnail { my $self = shift; my %args = @_; my $input = $args{'input'}; my $output = $args{'output'}; my $size = $args{'size'} || $self -> {SIZE}; my $blur = $args{'blur'} || $self -> {BLUR}; my $quality = $args{'quality'} || $self -> {QUALITY}; #input if( !$input ){ $error = 'No input specified'; return; } # output if( !$output ){ $error = 'No output specified'; return; } # size if( !$size ){ $error = 'No size or scale specified'; return; } elsif( $size <= 0 ){ $error = 'Invalid width'; return; } my $image = new Image::Magick; $image -> Read( $input ); my( $width, $height ) = $image -> Ping( $input ); # horizonal if( $width > $height ){ $self -> {HEIGHT} = int( $height * ( $size / $width ) ); $self -> {WIDTH} = $size; } # vertical else { $self -> {WIDTH} = int( $width * ( $size / $height ) ); $self -> {HEIGHT} = $size; } $image -> Set( quality => $quality ) if $quality; $image -> Resize( width => $self -> {WIDTH}, height => $self -> {HEIGHT}, blur => $blur, ); $image -> Write( $output ); return 1; } # Preloaded methods go here. 1; __END__ # Below is stub documentation for your module. You'd better edit it!