andygrundman / Image-Scale

Image::Scale - Fast, high-quality fixed-point image resizing
24 stars 20 forks source link

resize_gm results in artifacts #14

Open dnalor opened 5 years ago

dnalor commented 5 years ago

Using Image::Scale's resize_gm results in artifacts like these: mo-resized_gm850_c This issue doesn't occur when using resize_gd, resize_gm_fixed_point or GraphicsMagick directly: mo-resized_gmf850_c

Code:

my $img = Image::Scale->new( $imgfile) || die "Invalid JPEG file";
$img->resize_gm( { width => 850, filter => "Lanczos" } );
$img->save_png('/tmp/mo-resized_gm850.png');

my $img = Image::Scale->new( $imgfile) || die "Invalid JPEG file";
$img->resize_gm_fixed_point( { width => 850  } );
$img->save_png('/tmp/mo-resized_gmf850.png');

my $img = Image::Scale->new( $imgfile) || die "Invalid JPEG file";
$img->resize_gd( { width => 850 } );
$img->save_png('/tmp/mo-resized_gd850.png');

my $image = Graphics::Magick->new;
$image->Read( $imgfile);
$image->Resize( geometry=> '850x850');
$image->Write('/tmp/mo-resized_GM850.png');
undef $image;

Environment: Linux x86_64 / Linux aarch64, gcc 9, Perl 5.26 / 5.28, Image-Scale 0.14, libpng 1.6.35 / 1.6.37, libjpeg-turbo 1.5.3