diff --git a/Koha/CoverImage.pm b/Koha/CoverImage.pm index eb4e88b9e9..23ae2518dc 100644 --- a/Koha/CoverImage.pm +++ b/Koha/CoverImage.pm @@ -75,6 +75,8 @@ sub new { sub _scale_image { my ( $self, $image, $maxwidth, $maxheight ) = @_; my ( $width, $height ) = $image->getBounds(); + $image->alphaBlending(0); + $image->saveAlpha(1); if ( $width > $maxwidth || $height > $maxheight ) { my $percent_reduce; # Percent we will reduce the image dimensions by... @@ -86,11 +88,11 @@ sub _scale_image { } my $width_reduce = sprintf( "%.0f", ( $width * $percent_reduce ) ); my $height_reduce = sprintf( "%.0f", ( $height * $percent_reduce ) ); - my $newimage = GD::Image->new( $width_reduce, $height_reduce, 1 ); #'1' creates true color image... - $newimage->copyResampled( - $image, 0, 0, 0, 0, $width_reduce, - $height_reduce, $width, $height - ); + my $newimage = GD::Image->new( $width_reduce, $height_reduce, 1 ) + ; #'1' creates true color image... + $newimage->alphaBlending(0); + $newimage->saveAlpha(1); + $newimage->copyResampled( $image, 0, 0, 0, 0, $width_reduce, $height_reduce, $width, $height ); return $newimage; } else { return $image; diff --git a/tools/upload-cover-image.pl b/tools/upload-cover-image.pl index 63344d471e..74f582c66d 100755 --- a/tools/upload-cover-image.pl +++ b/tools/upload-cover-image.pl @@ -103,6 +103,7 @@ if ( $op eq 'cud-process' && $fileID ) { my $upload = Koha::UploadedFiles->find($fileID); if ( $filetype eq 'image' ) { my $fh = $upload->file_handle; + GD::Image->trueColor(1); my $srcimage = GD::Image->new($fh); $fh->close if $fh; if ( defined $srcimage ) { @@ -186,7 +187,8 @@ if ( $op eq 'cud-process' && $fileID ) { my $full_filename = Cwd::abs_path("$dir/$filename"); #Resolve any relative filepath references my $srcimage; - if ( $full_filename =~ /^\Q$dir\E/ ) { + if ( $full_filename =~ /^\Q$dir\E/ ){ + GD::Image->trueColor(1); $srcimage = GD::Image->new($full_filename); } my $biblio;