http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=26816
diff --git a/coders/viff.c b/coders/viff.c
index 74329a0..932a6b2 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -612,7 +612,11 @@
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 @@
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++;