]> granicus.if.org Git - imagemagick/commitdiff
Added "-set colorspace:auto-grayscale=false" that will prevent automatic conversion...
authordirk <dirk@git.imagemagick.org>
Sat, 25 Jul 2015 18:49:20 +0000 (18:49 +0000)
committerdirk <dirk@git.imagemagick.org>
Sat, 25 Jul 2015 18:49:20 +0000 (18:49 +0000)
MagickCore/colorspace.c

index 222de2966dad0918492bf3987b068633dbe85b45..ba4f6334826f156a79350cea861dfc4a33f85b7c 100644 (file)
@@ -1150,6 +1150,9 @@ MagickExport MagickBooleanType SetImageColorspace(Image *image,
 MagickExport MagickBooleanType SetImageGray(Image *image,
   ExceptionInfo *exception)
 {
+  const char
+    *value;
+
   ImageType
     type;
 
@@ -1161,6 +1164,9 @@ MagickExport MagickBooleanType SetImageGray(Image *image,
     return(MagickTrue);
   if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     return(MagickFalse);
+  value=GetImageProperty(image,"colorspace:auto-grayscale",exception);
+  if (IsStringFalse(value) != MagickFalse)
+    return(MagickFalse);
   type=IdentifyImageGray(image,exception);
   if (type == UndefinedType)
     return(MagickFalse);
@@ -1201,6 +1207,9 @@ MagickExport MagickBooleanType SetImageGray(Image *image,
 MagickExport MagickBooleanType SetImageMonochrome(Image *image,
   ExceptionInfo *exception)
 {
+  const char
+    *value;
+
   assert(image != (Image *) NULL);
   assert(image->signature == MagickCoreSignature);
   if (image->debug != MagickFalse)
@@ -1209,6 +1218,9 @@ MagickExport MagickBooleanType SetImageMonochrome(Image *image,
     return(MagickTrue);
   if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     return(MagickFalse);
+  value=GetImageProperty(image,"colorspace:auto-grayscale",exception);
+  if (IsStringFalse(value) != MagickFalse)
+    return(MagickFalse);
   if (IdentifyImageMonochrome(image,exception) == MagickFalse)
     return(MagickFalse);
   image->colorspace=GRAYColorspace;