From 6386b796857c3ef5db3858ebb2d64373273082b1 Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 23 Jun 2012 17:44:57 +0000 Subject: [PATCH] --- MagickCore/cache.c | 3 +++ MagickCore/distort.c | 9 +++++---- MagickCore/enhance.c | 2 -- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index 669e7d66c..75d5da1ba 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -4969,6 +4969,9 @@ MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod(Image *image, if ((image->background_color.matte != MagickFalse) && (image->matte == MagickFalse)) (void) SetCacheAlphaChannel(image,OpaqueAlpha,exception); + if ((IsPixelInfoGray(&image->background_color) == MagickFalse) && + (IsGrayColorspace(image->colorspace) != MagickFalse)) + (void) TransformImageColorspace(image,sRGBColorspace,exception); break; } case TransparentVirtualPixelMethod: diff --git a/MagickCore/distort.c b/MagickCore/distort.c index 6909de444..037717720 100644 --- a/MagickCore/distort.c +++ b/MagickCore/distort.c @@ -2280,10 +2280,13 @@ MagickExport Image *DistortImage(const Image *image,DistortImageMethod method, distort_image=DestroyImage(distort_image); return((Image *) NULL); } - distort_image->page.x=geometry.x; - distort_image->page.y=geometry.y; + if ((IsPixelInfoGray(&distort_image->background_color) == MagickFalse) && + (IsGrayColorspace(distort_image->colorspace) != MagickFalse)) + (void) TransformImageColorspace(distort_image,sRGBColorspace,exception); if (distort_image->background_color.matte != MagickFalse) distort_image->matte=MagickTrue; + distort_image->page.x=geometry.x; + distort_image->page.y=geometry.y; { /* ----- MAIN CODE ----- Sample the source image to each pixel in the distort image. @@ -2832,8 +2835,6 @@ MagickExport Image *RotateImage(const Image *image,const double degrees, distort_image=CloneImage(image,0,0,MagickTrue,exception); if (distort_image == (Image *) NULL) return((Image *) NULL); - if (IsGrayColorspace(image->colorspace) != MagickFalse) - (void) TransformImageColorspace(distort_image,sRGBColorspace,exception); (void) SetImageVirtualPixelMethod(distort_image,BackgroundVirtualPixelMethod, exception); rotate_image=DistortImage(distort_image,ScaleRotateTranslateDistortion,1, diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index 9710b529c..d09c0ab9f 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -2218,8 +2218,6 @@ MagickExport MagickBooleanType LevelImage(Image *image,const double black_point, assert(image->signature == MagickSignature); if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); - if (IsGrayColorspace(image->colorspace) != MagickFalse) - (void) SetImageColorspace(image,sRGBColorspace,exception); if (image->storage_class == PseudoClass) #if defined(MAGICKCORE_OPENMP_SUPPORT) #pragma omp parallel for schedule(static,4) shared(progress,status) \ -- 2.40.0