]> granicus.if.org Git - imagemagick/commitdiff
https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=31728
authorCristy <urban-warrior@imagemagick.org>
Sun, 23 Apr 2017 18:31:02 +0000 (14:31 -0400)
committerCristy <urban-warrior@imagemagick.org>
Sun, 23 Apr 2017 18:31:02 +0000 (14:31 -0400)
MagickCore/paint.c

index 0f0951e203f269c0a31a446eab68a23e380c836a..57dc675ec55da6d9a09d8b2b55626949fb5fbaaa 100644 (file)
@@ -974,7 +974,18 @@ MagickExport MagickBooleanType OpaquePaintImage(Image *image,
         }
       GetPixelInfoPixel(image,q,&pixel);
       if (IsFuzzyEquivalencePixelInfo(&pixel,&conform_target) != invert)
-        SetPixelViaPixelInfo(image,&conform_fill,q);
+        {
+          if (image->channel_map[RedPixelChannel].traits == UpdatePixelTrait)
+            SetPixelRed(image,conform_fill.red,q);
+          if (image->channel_map[GreenPixelChannel].traits == UpdatePixelTrait)
+            SetPixelRed(image,conform_fill.green,q);
+          if (image->channel_map[BluePixelChannel].traits == UpdatePixelTrait)
+            SetPixelRed(image,conform_fill.blue,q);
+          if (image->channel_map[BlackPixelChannel].traits == UpdatePixelTrait)
+            SetPixelRed(image,conform_fill.black,q);
+          if (image->channel_map[AlphaPixelChannel].traits == UpdatePixelTrait)
+            SetPixelRed(image,conform_fill.alpha,q);
+        }
       q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)