]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/distort.c
Fix CLUT interpolation method
[imagemagick] / MagickCore / distort.c
index d6cf65470572826950ca1d13f753f49eb4bdd208..d1ce18d231075dde760cb581653889fc547fe3f2 100644 (file)
@@ -1556,8 +1556,8 @@ MagickExport Image *DistortResizeImage(const Image *image,
         exception);
       (void) SetImageAlphaChannel(resize_alpha,DeactivateAlphaChannel,
         exception);
-      (void) CompositeImage(resize_image,CopyAlphaCompositeOp,resize_alpha,
-        0,0,exception);
+      (void) CompositeImage(resize_image,resize_alpha,CopyAlphaCompositeOp,
+        MagickTrue,0,0,exception);
       resize_alpha=DestroyImage(resize_alpha);
     }
   (void) SetImageVirtualPixelMethod(resize_image,vp_save,exception);
@@ -1954,7 +1954,7 @@ MagickExport Image *DistortImage(const Image *image,DistortImageMethod method,
   }
 
   /* Verbose output */
-  if ( IsMagickTrue(GetImageArtifact(image,"verbose")) != MagickFalse ) {
+  if ( IfMagickTrue(IsStringTrue(GetImageArtifact(image,"verbose"))) ) {
     register ssize_t
        i;
     char image_gen[MaxTextExtent];
@@ -2824,6 +2824,8 @@ 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,
@@ -2937,7 +2939,7 @@ MagickExport Image *SparseColorImage(const Image *image,
   }
 
   /* Verbose output */
-  if ( IsMagickTrue(GetImageArtifact(image,"verbose")) != MagickFalse ) {
+  if ( IfMagickTrue(IsStringTrue(GetImageArtifact(image,"verbose"))) ) {
 
     switch (sparse_method) {
       case BarycentricColorInterpolate: