From: dirk Date: Mon, 22 Dec 2014 21:38:03 +0000 (+0000) Subject: Fixed CopyAlpha in CompositeImage. X-Git-Tag: 7.0.1-0~1569 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=40e1cb503f5f973a02d9bf139ce68690ac41c915;p=imagemagick Fixed CopyAlpha in CompositeImage. --- diff --git a/MagickCore/composite.c b/MagickCore/composite.c index d9024bb6c..f19777a8b 100644 --- a/MagickCore/composite.c +++ b/MagickCore/composite.c @@ -762,7 +762,6 @@ if (0) */ if (image->alpha_trait == UndefinedPixelTrait) (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); - SetPixelAlphaTraits(image,CopyPixelTrait); break; } case BlurCompositeOp: @@ -1594,11 +1593,9 @@ if (0) } equivalent=IsFuzzyEquivalencePixel(composite_image,p,image,q); if (equivalent != MagickFalse) - { - pixel=(MagickRealType) TransparentAlpha; - break; - } - pixel=(MagickRealType) OpaqueAlpha; + pixel=(MagickRealType) TransparentAlpha; + else + pixel=(MagickRealType) OpaqueAlpha; break; } case ClearCompositeOp: @@ -1631,9 +1628,10 @@ if (0) } case CopyAlphaCompositeOp: { - pixel=QuantumRange*Sa; - if (composite_image->alpha_trait == UndefinedPixelTrait) + if (Sa == 1.0) pixel=GetPixelIntensity(composite_image,p); + else + pixel=QuantumRange*Sa; break; } case CopyCompositeOp: