]> granicus.if.org Git - imagemagick/commitdiff
Clamp pixels to fix colors in the non-hdri builds.
authorDirk Lemstra <dirk@git.imagemagick.org>
Sun, 4 Feb 2018 16:08:38 +0000 (17:08 +0100)
committerDirk Lemstra <dirk@git.imagemagick.org>
Sun, 4 Feb 2018 16:09:17 +0000 (17:09 +0100)
MagickCore/profile.c

index 6c33167b34446faec4dfe25185fa98d93b4b2676..15211745d31c9e96a6a2f7085c39661db20d3a51 100644 (file)
@@ -1106,20 +1106,25 @@ MagickExport MagickBooleanType ProfileImage(Image *image,const char *name,
               for (x=0; x < (ssize_t) image->columns; x++)
               {
                 if (target_channels == 1)
-                  SetPixelGray(image,target_scale*QuantumRange*(*p),q);
+                  SetPixelGray(image,ClampToQuantum(target_scale*
+                    QuantumRange*(*p)),q);
                 else
-                  SetPixelRed(image,target_scale*QuantumRange*(*p),q);
+                  SetPixelRed(image,ClampToQuantum(target_scale*
+                    QuantumRange*(*p)),q);
                 p++;
                 if (target_channels > 1)
                   {
-                    SetPixelGreen(image,target_scale*QuantumRange*(*p),q);
+                    SetPixelGreen(image,ClampToQuantum(target_scale*
+                      QuantumRange*(*p)),q);
                     p++;
-                    SetPixelBlue(image,target_scale*QuantumRange*(*p),q);
+                    SetPixelBlue(image,ClampToQuantum(target_scale*
+                      QuantumRange*(*p)),q);
                     p++;
                   }
                 if (target_channels > 3)
                   {
-                    SetPixelBlack(image,target_scale*QuantumRange*(*p),q);
+                    SetPixelBlack(image,ClampToQuantum(target_scale*
+                      QuantumRange*(*p)),q);
                     p++;
                   }
                 q+=GetPixelChannels(image);