sub resize { my $self = shift; my ($width, $height, $constraint) = @_; unless ( defined $constraint ) { $constraint = 1; } unless ( $width && $height ) { croak "Image::Resize->resize(): usage error"; } if ( $constraint ) { my $k_h = $height / $self->height; my $k_w = $width / $self->width; my $k = ($k_h < $k_w ? $k_h : $k_w); $height = int($self->height * $k); $width = int($self->width * $k); } my $image = GD::Image->new($width, $height, $self->truecolor ); ## modified $image->transparent( $self->transparent() ); ## Added $image->copyResampled($self->gd, 0, 0, # (destX, destY) 0, 0, # (srcX, srxY ) $width, $height, # (destX, destY) $self->width, $self->height ); return $image; }