From: Cristy Date: Tue, 12 Dec 2017 23:31:47 +0000 (-0500) Subject: https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=33193 X-Git-Tag: 7.0.7-15~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b7bf37671f9f6ac8eebd20fc911eea35541ebb37;p=imagemagick https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=33193 --- diff --git a/MagickCore/composite.c b/MagickCore/composite.c index f734cda57..74f2a1b79 100644 --- a/MagickCore/composite.c +++ b/MagickCore/composite.c @@ -1532,9 +1532,6 @@ MagickExport MagickBooleanType CompositeImage(Image *image, PixelTrait source_traits=GetPixelChannelTraits(source_image,channel); if (traits == UndefinedPixelTrait) continue; - if ((source_traits == UndefinedPixelTrait) && - (channel != AlphaPixelChannel)) - continue; if (channel == AlphaPixelChannel) { /* @@ -1642,6 +1639,11 @@ MagickExport MagickBooleanType CompositeImage(Image *image, pixel=QuantumRange*Da; break; } + case MultiplyCompositeOp: + { + pixel=QuantumRange*Sa*Da; + break; + } default: { pixel=QuantumRange*alpha; @@ -1652,6 +1654,8 @@ MagickExport MagickBooleanType CompositeImage(Image *image, ClampToQuantum(pixel); continue; } + if (source_traits == UndefinedPixelTrait) + continue; /* Sc: source color. Dc: canvas color. @@ -1663,7 +1667,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image, /* Copy channel. */ - q[i]=Sc; + q[i]=Dc; continue; } /*