From 940942b0a7bccda8a96c21c8c5b1d37268173038 Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 18 May 2014 11:32:34 +0000 Subject: [PATCH] --- MagickCore/attribute.c | 1 + coders/viff.c | 22 +++++++--------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/MagickCore/attribute.c b/MagickCore/attribute.c index ec953ec4e..421cef003 100644 --- a/MagickCore/attribute.c +++ b/MagickCore/attribute.c @@ -1176,6 +1176,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type, status=QuantizeImage(quantize_info,image,exception); quantize_info=DestroyQuantizeInfo(quantize_info); } + image->colors=2; image->alpha_trait=UndefinedPixelTrait; break; } diff --git a/coders/viff.c b/coders/viff.c index 5095ba205..8ca223dea 100644 --- a/coders/viff.c +++ b/coders/viff.c @@ -619,8 +619,6 @@ static Image *ReadVIFFImage(const ImageInfo *image_info, /* Convert bitmap scanline. */ - (void) SetImageType(image,BilevelType,exception); - (void) SetImageType(image,PaletteType,exception); for (y=0; y < (ssize_t) image->rows; y++) { q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); @@ -630,12 +628,8 @@ static Image *ReadVIFFImage(const ImageInfo *image_info, { for (bit=0; bit < 8; bit++) { - if (GetPixelLuma(image,q) < (QuantumRange/2.0)) - { - quantum=(size_t) GetPixelIndex(image,q); - quantum|=0x01; - SetPixelIndex(image,quantum,q); - } + quantum=((*p) & (0x01 << bit) ? 0 : 1); + SetPixelIndex(image,quantum,q); q+=GetPixelChannels(image); } p++; @@ -643,13 +637,11 @@ static Image *ReadVIFFImage(const ImageInfo *image_info, if ((image->columns % 8) != 0) { for (bit=0; bit < (ssize_t) (image->columns % 8); bit++) - if (GetPixelLuma(image,q) < (QuantumRange/2.0)) - { - quantum=(size_t) GetPixelIndex(image,q); - quantum|=0x01; - SetPixelIndex(image,quantum,q); - q+=GetPixelChannels(image); - } + { + quantum=((*p) & (0x01 << bit) ? 0 : 1); + SetPixelIndex(image,quantum,q); + q+=GetPixelChannels(image); + } p++; } if (SyncAuthenticPixels(image,exception) == MagickFalse) -- 2.40.0