From 44e4d9e96df850355961d6a7d79ef1ccdea2105d Mon Sep 17 00:00:00 2001 From: dirk Date: Sun, 16 Oct 2016 11:44:35 +0200 Subject: [PATCH] Preserving compression when writing the merged image. --- coders/psd.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/coders/psd.c b/coders/psd.c index 45c26b5ba..cdcbe63ea 100644 --- a/coders/psd.c +++ b/coders/psd.c @@ -3314,7 +3314,7 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info, Remove the opacity mask from the registry */ next_image=base_image; - while (next_image != NULL) + while (next_image != (Image *) NULL) { property=GetImageArtifact(next_image,"psd:opacity-mask"); if (property != (const char *) NULL) @@ -3326,9 +3326,16 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info, */ if (status != MagickFalse) { - if (WritePSDChannels(&psd_info,image_info,image,image,0, - MagickFalse,exception) == 0) + CompressionType + compression; + + compression=image->compression; + if (image->compression == ZipCompression) + image->compression=RLECompression; + if (WritePSDChannels(&psd_info,image_info,image,image,0,MagickFalse, + exception) == 0) status=MagickFalse; + image->compression=compression; } (void) CloseBlob(image); return(status); -- 2.40.0