use strictures; use GD; use Path::Tiny; GD::Image->trueColor(1); my $original_image = GD::Image->new( shift || die "Give an image!\n" ); my $new_image = GD::Image->new(100, 100); $new_image->copyResampled( $original_image, 0, 0, 0, 0, $new_image->getBounds, $original_image->getBounds ); path("new.jpg")->spew_raw($new_image->jpeg);