http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=26816
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 1 Jan 2015 00:28:58 +0000 (00:28 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 1 Jan 2015 00:28:58 +0000 (00:28 +0000)
coders/viff.c

index 74329a095373eccc249052a4e5992f8802929eb9..932a6b2d4dad1b90bec8216d47b20a803a566e76 100644 (file)
@@ -612,7 +612,11 @@ static Image *ReadVIFFImage(const ImageInfo *image_info,
             for (bit=0; bit < 8; bit++)
             {
               quantum=(size_t) ((*p) & (0x01 << bit) ? 0 : 1);
-              SetPixelIndex(image,quantum,q);
+              SetPixelRed(image,quantum == 0 ? 0 : QuantumRange,q);
+              SetPixelGreen(image,quantum == 0 ? 0 : QuantumRange,q);
+              SetPixelBlue(image,quantum == 0 ? 0 : QuantumRange,q);
+              if (image->storage_class == PseudoClass)
+                SetPixelIndex(image,quantum,q);
               q+=GetPixelChannels(image);
             }
             p++;
@@ -622,7 +626,11 @@ static Image *ReadVIFFImage(const ImageInfo *image_info,
               for (bit=0; bit < (int) (image->columns % 8); bit++)
               {
                 quantum=(size_t) ((*p) & (0x01 << bit) ? 0 : 1);
-                SetPixelIndex(image,quantum,q);
+                SetPixelRed(image,quantum == 0 ? 0 : QuantumRange,q);
+                SetPixelGreen(image,quantum == 0 ? 0 : QuantumRange,q);
+                SetPixelBlue(image,quantum == 0 ? 0 : QuantumRange,q);
+                if (image->storage_class == PseudoClass)
+                  SetPixelIndex(image,quantum,q);
                 q+=GetPixelChannels(image);
               }
               p++;