]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 26 Jun 2012 13:37:31 +0000 (13:37 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 26 Jun 2012 13:37:31 +0000 (13:37 +0000)
58 files changed:
MagickCore/attribute.c
MagickCore/cache.c
MagickCore/colorspace-private.h
MagickCore/colorspace.h
MagickCore/nt-feature.c
MagickCore/profile.c
MagickCore/property.c
MagickCore/quantize.c
MagickCore/segment.c
coders/aai.c
coders/art.c
coders/avs.c
coders/bgr.c
coders/bmp.c
coders/cip.c
coders/dib.c
coders/fax.c
coders/fits.c
coders/fpx.c
coders/gif.c
coders/gradient.c
coders/gray.c
coders/hdr.c
coders/hrz.c
coders/html.c
coders/icon.c
coders/ipl.c
coders/jbig.c
coders/jp2.c
coders/jpeg.c
coders/map.c
coders/mat.c
coders/mono.c
coders/mtv.c
coders/otb.c
coders/palm.c
coders/pcd.c
coders/pcl.c
coders/pcx.c
coders/pdb.c
coders/pdf.c
coders/pict.c
coders/png.c
coders/pnm.c
coders/ps.c
coders/psd.c
coders/rgb.c
coders/sgi.c
coders/sun.c
coders/tga.c
coders/tiff.c
coders/uil.c
coders/vicar.c
coders/viff.c
coders/wbmp.c
coders/xbm.c
coders/xpm.c
coders/xwd.c

index a8c41f3f526421cfdd9dc7b3162f9c3c6aee2d09..d35765926905eeee5603e033f6d411b672817f19 100644 (file)
@@ -1188,8 +1188,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
     }
     case PaletteType:
     {
-      if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-          (IsImageGray(image,exception) == MagickFalse))
+      if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
         status=TransformImageColorspace(image,sRGBColorspace,exception);
       if ((image->storage_class == DirectClass) || (image->colors > 256))
         {
@@ -1206,8 +1205,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
       ChannelType
         channel_mask;
 
-      if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-          (IsImageGray(image,exception) == MagickFalse))
+      if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
         status=TransformImageColorspace(image,sRGBColorspace,exception);
       if (image->matte == MagickFalse)
         (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
@@ -1221,8 +1219,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
     }
     case PaletteMatteType:
     {
-      if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-          (IsImageGray(image,exception) == MagickFalse))
+      if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
         status=TransformImageColorspace(image,sRGBColorspace,exception);
       if (image->matte == MagickFalse)
         (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
@@ -1234,8 +1231,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
     }
     case TrueColorType:
     {
-      if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-          (IsImageGray(image,exception) == MagickFalse))
+      if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
         status=TransformImageColorspace(image,sRGBColorspace,exception);
       if (image->storage_class != DirectClass)
         status=SetImageStorageClass(image,DirectClass,exception);
@@ -1244,8 +1240,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
     }
     case TrueColorMatteType:
     {
-      if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-          (IsImageGray(image,exception) == MagickFalse))
+      if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
         status=TransformImageColorspace(image,sRGBColorspace,exception);
       if (image->storage_class != DirectClass)
         status=SetImageStorageClass(image,DirectClass,exception);
@@ -1257,8 +1252,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
     {
       if (image->colorspace != CMYKColorspace)
         {
-          if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-              (IsImageGray(image,exception) == MagickFalse))
+          if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
             status=TransformImageColorspace(image,sRGBColorspace,exception);
           status=TransformImageColorspace(image,CMYKColorspace,exception);
         }
@@ -1271,8 +1265,7 @@ MagickExport MagickBooleanType SetImageType(Image *image,const ImageType type,
     {
       if (image->colorspace != CMYKColorspace)
         {
-          if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-              (IsImageGray(image,exception) == MagickFalse))
+          if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
             status=TransformImageColorspace(image,sRGBColorspace,exception);
           status=TransformImageColorspace(image,CMYKColorspace,exception);
         }
index 75d5da1ba5401a201cbffab0d9c8ba053be3c4d1..2b528ebd441bf3552db7a88d4186692e64c4a556 100644 (file)
@@ -46,6 +46,7 @@
 #include "MagickCore/cache.h"
 #include "MagickCore/cache-private.h"
 #include "MagickCore/color-private.h"
+#include "MagickCore/colorspace-private.h"
 #include "MagickCore/composite-private.h"
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
index d6ff0f10dfc1c0cbb5cb58e5d1dfe465ad47c16e..c8418807104c1890c6c7bbf6dfc1ea4016efd23e 100644 (file)
@@ -65,6 +65,47 @@ static inline void ConvertsRGBToCMYK(PixelInfo *pixel)
   pixel->black=QuantumRange*black;
 }
 
+static inline MagickBooleanType IsCMYKColorspace(
+  const ColorspaceType colorspace)
+{
+  if (colorspace == CMYKColorspace)
+    return(MagickTrue);
+  return(MagickFalse);
+}
+
+static inline MagickBooleanType IsGrayColorspace(
+  const ColorspaceType colorspace)
+{
+  if ((colorspace == GRAYColorspace) || (colorspace == Rec601LumaColorspace) ||
+      (colorspace == Rec709LumaColorspace))
+    return(MagickTrue);
+  return(MagickFalse);
+}
+
+static inline MagickBooleanType IsRGBColorspace(const ColorspaceType colorspace)
+{
+  if (colorspace == RGBColorspace)
+    return(MagickTrue);
+  return(MagickFalse);
+}
+
+static inline MagickBooleanType IssRGBColorspace(
+  const ColorspaceType colorspace)
+{
+  if ((colorspace == sRGBColorspace) || (colorspace == TransparentColorspace))
+    return(MagickTrue);
+  return(MagickFalse);
+}
+
+static inline MagickBooleanType IssRGBCompatibleColorspace(
+  const ColorspaceType colorspace)
+{
+  if ((colorspace == sRGBColorspace) || (colorspace == TransparentColorspace) ||
+      (colorspace == RGBColorspace) || (colorspace == GRAYColorspace))
+    return(MagickTrue);
+  return(MagickFalse);
+}
+
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif
index 261db403b2b8852f827c7d5770ad0fa3d0d5412d..df7869b19de6c29ecbcc3605174788d0dcf7d0b4 100644 (file)
@@ -53,38 +53,6 @@ extern MagickExport MagickBooleanType
   SetImageColorspace(Image *,const ColorspaceType,ExceptionInfo *),
   TransformImageColorspace(Image *,const ColorspaceType,ExceptionInfo *);
 
-static inline MagickBooleanType IsCMYKColorspace(
-  const ColorspaceType colorspace)
-{
-  if (colorspace == CMYKColorspace)
-    return(MagickTrue);
-  return(MagickFalse);
-}
-
-static inline MagickBooleanType IsGrayColorspace(
-  const ColorspaceType colorspace)
-{
-  if ((colorspace == GRAYColorspace) || (colorspace == Rec601LumaColorspace) ||
-      (colorspace == Rec709LumaColorspace))
-    return(MagickTrue);
-  return(MagickFalse);
-}
-
-static inline MagickBooleanType IsRGBColorspace(const ColorspaceType colorspace)
-{
-  if (colorspace == RGBColorspace)
-    return(MagickTrue);
-  return(MagickFalse);
-}
-
-static inline MagickBooleanType IssRGBColorspace(
-  const ColorspaceType colorspace)
-{
-  if ((colorspace == sRGBColorspace) || (colorspace == TransparentColorspace))
-    return(MagickTrue);
-  return(MagickFalse);
-}
-
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif
index dc05af785ecf17596a39cfba7bb3e636c2b1e598..17d7955b138678824974800320760c75203e6317 100644 (file)
@@ -179,8 +179,7 @@ MagickExport void *CropImageToHBITMAP(Image *image,
   bitmap_bits=(RGBQUAD *) GlobalLock((HGLOBAL) bitmap_bitsH);
   if ( bitmap.bmBits == NULL )
     bitmap.bmBits = bitmap_bits;
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsGrayColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Extract crop image.
index 4b17c2cb4041fa3836c3b59424ea7f47d73d04ae..ab14b9e07a724564819977d126508bcbad353c4b 100644 (file)
@@ -806,11 +806,10 @@ MagickExport MagickBooleanType ProfileImage(Image *image,const char *name,
               ThrowProfileException(ImageError,"ColorspaceColorProfileMismatch",
                 name);
              if ((source_colorspace != CMYKColorspace) &&
-                 (source_colorspace != GRAYColorspace) &&
                  (source_colorspace != LabColorspace) &&
                  (source_colorspace != XYZColorspace) &&
                  (source_colorspace != YCbCrColorspace) &&
-                 (IssRGBColorspace(image->colorspace) == MagickFalse))
+                 (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse))
               ThrowProfileException(ImageError,"ColorspaceColorProfileMismatch",
                 name);
             switch (image->rendering_intent)
index 92d8969531520553026621bc52206a65d8f7cba3..cef97d07a1aa24f28a4bfd2c81853891d57b4fa4 100644 (file)
@@ -46,6 +46,7 @@
 #include "MagickCore/cache.h"
 #include "MagickCore/color.h"
 #include "MagickCore/color-private.h"
+#include "MagickCore/colorspace-private.h"
 #include "MagickCore/compare.h"
 #include "MagickCore/constitute.h"
 #include "MagickCore/draw.h"
index 5a6a9dc90e7da0ae718b6d10937c595c678539f0..d46b0d4ef2d09418e6110fd7b649a12d6a1706cd 100644 (file)
@@ -516,9 +516,7 @@ static MagickBooleanType AssignImageColors(Image *image,CubeInfo *cube_info,
     (void) TransformImageColorspace((Image *) image,
       cube_info->quantize_info->colorspace,exception);
   else
-    if ((image->colorspace != GRAYColorspace) &&
-        (IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (image->colorspace != CMYColorspace))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace((Image *) image,sRGBColorspace,exception);
   if (AcquireImageColormap(image,cube_info->colors,exception) == MagickFalse)
     ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed",
@@ -803,9 +801,7 @@ static MagickBooleanType ClassifyImageColors(CubeInfo *cube_info,
     (void) TransformImageColorspace((Image *) image,
       cube_info->quantize_info->colorspace,exception);
   else
-    if ((image->colorspace != GRAYColorspace) &&
-        (image->colorspace != CMYColorspace) &&
-        (IssRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace((Image *) image,sRGBColorspace,exception);
   midpoint.red=(MagickRealType) QuantumRange/2.0;
   midpoint.green=(MagickRealType) QuantumRange/2.0;
index d29515e0604e8329cb2940ebe1297f0cf1809217..5ceefd97226b5a539b38fdcb50592e402dd9d2d8 100644 (file)
@@ -1798,6 +1798,9 @@ MagickExport MagickBooleanType SegmentImage(Image *image,
   const double cluster_threshold,const double smooth_threshold,
   ExceptionInfo *exception)
 {
+  ColorspaceType
+    previous_colorspace;
+
   MagickBooleanType
     status;
 
@@ -1832,12 +1835,11 @@ MagickExport MagickBooleanType SegmentImage(Image *image,
           image->filename)
       }
   }
-  if ((IssRGBColorspace(colorspace) == MagickFalse) &&
-      (IsGrayColorspace(colorspace) == MagickFalse))
-    (void) TransformImageColorspace(image,colorspace,exception);
   /*
     Initialize histogram.
   */
+  previous_colorspace=image->colorspace;
+  (void) TransformImageColorspace(image,colorspace,exception);
   InitializeHistogram(image,histogram,exception);
   (void) OptimalTau(histogram[Red],Tau,0.2,DeltaTau,
     smooth_threshold == 0.0 ? 1.0 : smooth_threshold,extrema[Red]);
@@ -1850,9 +1852,7 @@ MagickExport MagickBooleanType SegmentImage(Image *image,
   */
   status=Classify(image,extrema,cluster_threshold,WeightingExponent,verbose,
     exception);
-  if ((IssRGBColorspace(colorspace) == MagickFalse) &&
-      (IsGrayColorspace(colorspace) == MagickFalse))
-    (void) TransformImageColorspace(image,colorspace,exception);
+  (void) TransformImageColorspace(image,previous_colorspace,exception);
   /*
     Relinquish resources.
   */
index b72fa8ae93aeda123675a835653e3bf802870785..5cf8dcb62cceadfaef85a64a5bd26be39e9505c6 100644 (file)
@@ -364,8 +364,7 @@ static MagickBooleanType WriteAAIImage(const ImageInfo *image_info,Image *image,
     /*
       Write AAI header.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     (void) WriteBlobLSBLong(image,(unsigned int) image->columns);
     (void) WriteBlobLSBLong(image,(unsigned int) image->rows);
index 677f2fa16d7020186573dd497c21ac9634534c15..eebe66b746c0be9e3b3fb55b9d63f8ba8a0b9f87 100644 (file)
@@ -309,8 +309,7 @@ static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image,
     return(status);
   if ((image->columns > 65535UL) || (image->rows > 65535UL))
     ThrowWriterException(ImageError,"WidthOrHeightExceedsLimit");
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   (void) SetImageType(image,BilevelType,exception);
   image->endian=MSBEndian;
index 5d8a8aa1b81105edd054d53db13d09c32a2c8b89..0cf6d42937439ff257badbc48cb24be09f9d87b9 100644 (file)
@@ -360,8 +360,7 @@ static MagickBooleanType WriteAVSImage(const ImageInfo *image_info,Image *image,
     /*
       Write AVS header.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     (void) WriteBlobMSBLong(image,(unsigned int) image->columns);
     (void) WriteBlobMSBLong(image,(unsigned int) image->rows);
index 5f9cd81ed42181b148d3b6f87694b2bb75dbb3b9..7c4cb848af642519c26248d3717d2305e6c2f36f 100644 (file)
@@ -1105,8 +1105,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image,
     /*
       Convert MIFF to BGR raster pixels.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     if ((LocaleCompare(image_info->magick,"BGRA") == 0) &&
         (image->matte == MagickFalse))
index e738fe361700aa9407e5f38aadec1b992dfc177b..2e5ae91ead8debfb5397acbac10e5c098c9b7667 100644 (file)
@@ -1523,8 +1523,7 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image,
     /*
       Initialize BMP raster file header.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     (void) ResetMagickMemory(&bmp_info,0,sizeof(bmp_info));
     bmp_info.file_size=14+12;
index df1164505e0f777482f9d2c9e52f176ea07cc3b1..3f847cb44df9b04731d642c93db93ccc3ddc38b7 100644 (file)
@@ -235,8 +235,7 @@ static MagickBooleanType WriteCIPImage(const ImageInfo *image_info,Image *image,
   (void) FormatLocaleString(buffer,MaxTextExtent,"<Depth>2</Depth>\n");
   (void) WriteBlobString(image,buffer);
   (void) WriteBlobString(image,"<Data>");
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   for (y=0; y < (ssize_t) image->rows; y++)
   {
index c0325ec8a42c5517694fe7b64f7a3c1df3336759..321483063f75b2b525a861a9b3ec8880002ed403 100644 (file)
@@ -1010,8 +1010,7 @@ static MagickBooleanType WriteDIBImage(const ImageInfo *image_info,Image *image,
   /*
     Initialize DIB raster file header.
   */
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   if (image->storage_class == DirectClass)
     {
index e235a0266e34367fb66397e25ad0d80033c54630..074266e38b79c371957b8c3dea706a9dbef6e255 100644 (file)
@@ -331,9 +331,7 @@ static MagickBooleanType WriteFAXImage(const ImageInfo *image_info,Image *image,
     /*
       Convert MIFF to monochrome.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     status=HuffmanEncodeImage(write_info,image,image,exception);
     if (GetNextImageInList(image) == (Image *) NULL)
index b654c048def8882bd9f692e41c5d02afd0679ded..4e2b5ade7a7e2798c7731f3b4a5228f1e9f095cd 100644 (file)
@@ -636,9 +636,7 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Allocate image memory.
index 50cd057f91db3b1920b259a541269b39fb5399f4..643585e8334c02aad62d9aa3655889a314430bda 100644 (file)
@@ -853,9 +853,7 @@ static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   (void) CloseBlob(image);
   /*
index 8b3be18fb8287e9ddeb0903dee02fc41be71801a..1c62d3ea4a2508522d54766baafe42b9433462a7 100644 (file)
@@ -1570,9 +1570,7 @@ static MagickBooleanType WriteGIFImage(const ImageInfo *image_info,Image *image,
   one=1;
   do
   {
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     opacity=(-1);
     if (IsImageOpaque(image,exception) != MagickFalse)
index 6365de0907796e064ccc1c2b299abfb77c91a3f1..03c927b41011fb79d197c587cb7fe4c41aaae013 100644 (file)
@@ -44,6 +44,7 @@
 #include "MagickCore/blob-private.h"
 #include "MagickCore/color.h"
 #include "MagickCore/color-private.h"
+#include "MagickCore/colorspace-private.h"
 #include "MagickCore/draw.h"
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
index ce601f31fbd015ae175962b31fac7982cd44cc68..7b5bb6dc19ca11859644438650f2d69831ccb6f1 100644 (file)
@@ -412,8 +412,7 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info,
     /*
       Write grayscale pixels.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     quantum_type=GrayQuantum;
     quantum_info=AcquireQuantumInfo(image_info,image);
index 3c819da9062c72001c2d1a8f041555a6c4ca9b39..a35ebb5dc369b55e60814f1ea89d4446e4ce6d0a 100644 (file)
@@ -686,8 +686,7 @@ static MagickBooleanType WriteHDRImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Write header.
index 51a777b114faae8ce1ec074041bde39b0b78a598..580ecd06c7cca456192f5ee5bbdaf0c585d5b2a9 100644 (file)
@@ -307,8 +307,7 @@ static MagickBooleanType WriteHRZImage(const ImageInfo *image_info,Image *image,
   hrz_image=ResizeImage(image,256,240,image->filter,exception);
   if (hrz_image == (Image *) NULL)
     return(MagickFalse);
-  if ((IssRGBColorspace(hrz_image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(hrz_image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(hrz_image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(hrz_image,sRGBColorspace,exception);
   /*
     Allocate memory for pixels.
index 0097ce69c78a5175ba4ba0e8741bbb4654e84d90..aa40d2acb9f2f14ae8544f0f9ddbe48b5ea806de 100644 (file)
@@ -250,8 +250,7 @@ static MagickBooleanType WriteHTMLImage(const ImageInfo *image_info,
   if (status == MagickFalse)
     return(status);
   (void) CloseBlob(image);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   *url='\0';
   if ((LocaleCompare(image_info->magick,"FTP") == 0) ||
index 9bfc5d608608059fc2dd69e307480ee7df160803..f530ddd311f3393d6cf22ff6043e9e4773e0b934 100644 (file)
@@ -46,6 +46,7 @@
 #include "MagickCore/cache.h"
 #include "MagickCore/colormap.h"
 #include "MagickCore/colorspace.h"
+#include "MagickCore/colorspace-private.h"
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
 #include "MagickCore/image.h"
@@ -912,8 +913,7 @@ static MagickBooleanType WriteICONImage(const ImageInfo *image_info,
         /*
           Initialize ICON raster file header.
         */
-        if ((IssRGBColorspace(next->colorspace) == MagickFalse) &&
-            (IsRGBColorspace(next->colorspace) == MagickFalse))
+        if (IssRGBCompatibleColorspace(next->colorspace) == MagickFalse)
           (void) TransformImageColorspace(next,sRGBColorspace,exception);
         icon_info.file_size=14+12+28;
         icon_info.offset_bits=icon_info.file_size;
index ae16432788467f650fbe439f184e19d3c313509b..b1356f747b8a930032c2502e2a735e638bdb4c2c 100644 (file)
@@ -576,11 +576,10 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image,
   ipl_info.width = (unsigned int) image->columns;
   ipl_info.height = (unsigned int) image->rows;
   
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   
-  if(IssRGBColorspace(image->colorspace) == MagickTrue) { ipl_info.colors = 3; }
+  if(IssRGBCompatibleColorspace(image->colorspace) == MagickTrue) { ipl_info.colors = 3; }
   else{ ipl_info.colors = 1; }
   
   ipl_info.size = (unsigned int) (28 + 
index 5f8dc10be11b2e0ff4419db092feaacc897e2df4..b750c733f1618569ecdf4ed8ec4add0621af3f9e 100644 (file)
@@ -447,9 +447,7 @@ static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info,
     /*
       Allocate pixel data.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     number_packets=(image->columns+7)/8;
     pixels=(unsigned char *) AcquireQuantumMemory(number_packets,
index aaae68f189946afd023cd32644cc26ceb65a05ae..86f56662488208d2ecaa8fe52d03e1bc217f978a 100644 (file)
@@ -911,9 +911,7 @@ static MagickBooleanType WriteJP2Image(const ImageInfo *image_info,Image *image,
   /*
     Initialize JPEG 2000 API.
   */
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   jp2_stream=JP2StreamManager(image);
   if (jp2_stream == (jas_stream_t *) NULL)
index 4ad4b9f5be38a22e363f0b7d43314c1706ab617b..db7b066e1375612024cb69ec4bd341adf9c35351 100644 (file)
@@ -2109,8 +2109,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info,
     }
     default:
     {
-      if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-          (IsRGBColorspace(image->colorspace) == MagickFalse))
+      if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
         (void) TransformImageColorspace(image,sRGBColorspace,exception);
       break;
     }
index e4fe103375ed33762ea0454f50fcb644334d98bd..776fb0f446a5ad5165b72a6d939f678414ea328e 100644 (file)
@@ -375,8 +375,7 @@ static MagickBooleanType WriteMAPImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Allocate colormap.
index 29d295ceba27fd288d318561cbb1c753e0870b06..4102cdc88644b6534241bc7ac3acb34249847f1a 100644 (file)
@@ -1239,9 +1239,7 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image,
   scene=0;
   do
   {
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     is_gray = IsImageGray(image,exception);
     z = is_gray ? 0 : 3;
index c59cdac1e8f0ad6970fa9939bb2cfafeb973a48c..41d08edb9199b2e51276d15014686e4bf9caee46 100644 (file)
@@ -314,9 +314,7 @@ static MagickBooleanType WriteMONOImage(const ImageInfo *image_info,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Convert image to a bi-level image.
index ab679c914e96b71e364b3b88bd93c7f828c957e4..ed50501c44ab11e8f86c9c2093d8ad850de36ba4 100644 (file)
@@ -366,8 +366,7 @@ static MagickBooleanType WriteMTVImage(const ImageInfo *image_info,Image *image,
     /*
       Allocate memory for pixels.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     pixels=(unsigned char *) AcquireQuantumMemory((size_t) image->columns,
       3UL*sizeof(*pixels));
index 1b7c6e384c888959eac81a86e45f41da0f4fb01c..5e566bcebab6856cc2760d595849d7eb89fe2d14 100644 (file)
@@ -334,9 +334,7 @@ static MagickBooleanType WriteOTBImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Convert image to a bi-level image.
index 6d171c6190497c71e59441314ce66b0a7efce4b4..84bea22db69b22ff12638f144ee41749bddeb909 100644 (file)
@@ -733,8 +733,7 @@ static MagickBooleanType WritePALMImage(const ImageInfo *image_info,
   scene=0;
   do
   {
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     count=GetNumberColors(image,NULL,exception);
     for (bits_per_pixel=1;  (one << bits_per_pixel) < count; bits_per_pixel*=2) ;
index c213ce73b90b8f98ca7987bded993759ac679589..0aa96b8db73ceace7ca3c7c9a2ae9afef26a994b 100644 (file)
@@ -1011,8 +1011,7 @@ static MagickBooleanType WritePCDTile(Image *image,const char *page_geometry,
       tile_image=bordered_image;
     }
   (void) TransformImage(&tile_image,(char *) NULL,tile_geometry,exception);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(tile_image,YCCColorspace,exception);
   downsample_image=ResizeImage(tile_image,tile_image->columns/2,
     tile_image->rows/2,TriangleFilter,exception);
@@ -1100,8 +1099,7 @@ static MagickBooleanType WritePCDImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,pcd_image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(pcd_image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(pcd_image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(pcd_image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(pcd_image,sRGBColorspace,exception);
   /*
     Write PCD image header.
index 150c652bb0c7795d1d81b80003c0839e25c44e75..4371a275613f329dbf68bfecd519d8a7527f3cff 100644 (file)
@@ -721,9 +721,7 @@ static MagickBooleanType WritePCLImage(const ImageInfo *image_info,Image *image,
   one=1;
   do
   {
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     /*
       Initialize the printer.
index 83f0b3d6db9ace916d43916940bc68b6fea2b474..c93fa6cef1b3db46ef4eec66e0f01fa41ae98694 100644 (file)
@@ -879,9 +879,7 @@ static MagickBooleanType WritePCXImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   page_table=(MagickOffsetType *) NULL;
   if ((LocaleCompare(image_info->magick,"DCX") == 0) ||
index dd6d3d88f844b31f72c7e0fc9df3137d83805d6f..c716557b39b04de156ce4645193023bb0b274782 100644 (file)
@@ -743,9 +743,7 @@ static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   if (image -> colors <= 2  ||  GetImageType( image, exception ) == BilevelType) { /* TS */
     bits_per_pixel = 1;
@@ -819,8 +817,7 @@ static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image,
     sizeof(*scanline));
   if (scanline == (unsigned char *) NULL)
     ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Convert to GRAY raster scanline.
index 5c7b4c1b309a17c728e40ceb86ee8a04c2a5959b..bd2ff879b2263318ac069b45a49e33412b07cae9 100644 (file)
@@ -562,8 +562,7 @@ static Image *ReadPDFImage(const ImageInfo *image_info,ExceptionInfo *exception)
       page.width=page.height;
       page.height=swap;
     }
-  if ((IssRGBColorspace(image_info->colorspace) != MagickFalse) ||
-      (IsRGBColorspace(image_info->colorspace) != MagickFalse))
+  if (IssRGBCompatibleColorspace(image_info->colorspace) != MagickFalse)
     cmyk=MagickFalse;
   /*
     Create Ghostscript control file.
@@ -1256,8 +1255,7 @@ static MagickBooleanType WritePDFImage(const ImageInfo *image_info,Image *image,
     }
     if (compression == JPEG2000Compression)
       {
-        if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-            (IsRGBColorspace(image->colorspace) == MagickFalse))
+        if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
           (void) TransformImageColorspace(image,sRGBColorspace,exception);
       }
     /*
index e43272d4fd90cb61d446fba90e57a73a6f887e36..380fb4f64aeb10e2137ff7531cd0c22a38dd4a86 100644 (file)
@@ -1385,8 +1385,7 @@ static Image *ReadPICTImage(const ImageInfo *image_info,
         (void) SetImageExtent(image,
           MagickMax(image->columns,tile_image->columns),
           MagickMax(image->rows,tile_image->rows),exception);
-        if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-            (IsRGBColorspace(image->colorspace) == MagickFalse))
+        if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
           (void) TransformImageColorspace(image,tile_image->colorspace,
             exception);
         (void) CompositeImage(image,tile_image,CopyCompositeOp,MagickTrue,
@@ -1604,8 +1603,7 @@ static MagickBooleanType WritePICTImage(const ImageInfo *image_info,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Initialize image info.
index 14e032f96a63c1ca2540453f442d2cc131dc24b2..c223c9cf853f20d10e5837d77b8fc0e26f62cd90 100644 (file)
@@ -7776,9 +7776,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
         }
     }
 
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
 
   /*
@@ -8265,9 +8263,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info,
      if (mng_info->write_png_colortype != 7) /* We won't need this info */
        {
          ping_have_color=MagickFalse;
-         if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-             (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-             (IsGrayColorspace(image->colorspace) == MagickFalse))
+         if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
            ping_have_color=MagickTrue;
          ping_have_non_bw=MagickFalse;
 
index dd876dc6837a3392a314acb2596657c8b620691f..b33b694c12df13dd6d6f1c6db4c3db165e3fb2cb 100644 (file)
@@ -1724,8 +1724,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image,
         /*
           Convert image to a PNM image.
         */
-        if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-            (IsRGBColorspace(image->colorspace) == MagickFalse))
+        if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
           (void) TransformImageColorspace(image,sRGBColorspace,exception);
         if (image->depth <= 8)
           (void) WriteBlobString(image,"255\n");
@@ -1911,8 +1910,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image,
         /*
           Convert image to a PNM image.
         */
-        if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-            (IsRGBColorspace(image->colorspace) == MagickFalse))
+        if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
           (void) TransformImageColorspace(image,sRGBColorspace,exception);
         if (image->depth > 8)
           image->depth=16;
index 2f958713b20b2ad621f0775cf05b0d3f383a4e10..fba33eca931ca29960fbbc0911c0204d1844a11b 100644 (file)
@@ -708,8 +708,7 @@ static Image *ReadPSImage(const ImageInfo *image_info,ExceptionInfo *exception)
         resolution.y/delta.y)-0.5);
     }
   (void) CloseBlob(image);
-  if ((IssRGBColorspace(image_info->colorspace) != MagickFalse) &&
-      (IsRGBColorspace(image_info->colorspace) != MagickFalse))
+  if (IssRGBCompatibleColorspace(image_info->colorspace) != MagickFalse)
     cmyk=MagickFalse;
   /*
     Create Ghostscript control file.
@@ -1446,9 +1445,7 @@ static MagickBooleanType WritePSImage(const ImageInfo *image_info,Image *image,
     /*
       Scale relative to dots-per-inch.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse) &&
-        (image->colorspace != CMYKColorspace))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     delta.x=DefaultResolution;
     delta.y=DefaultResolution;
index 03059ca30d8bb2e4ca9ac1fca683eba22e657c98..4c89e28ed6b46d964f392f2a70c287a9dca2d1a9 100644 (file)
@@ -703,8 +703,7 @@ static MagickBooleanType ReadPSDLayer(Image *image,const size_t channels,
         }
         case 4:
         {
-          if (((IssRGBColorspace(image->colorspace) != MagickFalse) ||
-               (IsRGBColorspace(image->colorspace) != MagickFalse)) &&
+          if ((IssRGBCompatibleColorspace(image->colorspace) != MagickFalse) &&
               (channels > 3))
             break;
           if (image->matte != MagickFalse)
@@ -2176,9 +2175,7 @@ static MagickBooleanType WritePSDImage(const ImageInfo *image_info,Image *image,
            (image->colorspace != CMYKColorspace)) &&
           (image_info->colorspace != CMYKColorspace))
         {
-          if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-              (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-              (IsImageGray(image,exception) == MagickFalse))
+          if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
             (void) TransformImageColorspace(image,sRGBColorspace,exception);
           (void) WriteBlobMSBShort(image,(unsigned short)
             (image->storage_class == PseudoClass ? IndexedMode : RGBMode));
index f938554a348b7d09e5d50bde04fa6467bf579c9a..0859a0df1d809b641f82d644641c404d90b599f9 100644 (file)
@@ -1108,8 +1108,7 @@ static MagickBooleanType WriteRGBImage(const ImageInfo *image_info,
     /*
       Convert MIFF to RGB raster pixels.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     if ((LocaleCompare(image_info->magick,"RGBA") == 0) &&
         (image->matte == MagickFalse))
index 688bff41b4252576b1d38e43486b9ce3cad9c16a..83db3a80c71118887dbcb79ce9cc7bcde649c0f3 100644 (file)
@@ -907,8 +907,7 @@ static MagickBooleanType WriteSGIImage(const ImageInfo *image_info,Image *image,
     /*
       Initialize SGI raster file header.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     (void) ResetMagickMemory(&iris_info,0,sizeof(iris_info));
     iris_info.magic=0x01DA;
index 6c9286cc3a1d026ea4ed0bce9701b728e66225ec..f3901fd4b940429be187e9d875046c82dee414e3 100644 (file)
@@ -761,9 +761,7 @@ static MagickBooleanType WriteSUNImage(const ImageInfo *image_info,Image *image,
     /*
       Initialize SUN raster file header.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     sun_info.magic=0x59a66a95;
     if ((image->columns != (unsigned int) image->columns) ||
index d21b3495fa2dad51ddaa9a069318d07b6efeabdd..34c456381d35734335a7b96fdd10fbfc3b0de057 100644 (file)
@@ -698,9 +698,7 @@ static MagickBooleanType WriteTGAImage(const ImageInfo *image_info,Image *image,
   */
   if ((image->columns > 65535L) || (image->rows > 65535L))
     ThrowWriterException(ImageError,"WidthOrHeightExceedsLimit");
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   targa_info.id_length=0;
   value=GetImageProperty(image,"comment",exception);
index 70410fb19e9c2151bf9c83790f24deb39ee051ad..dad111399601ebfaef45b11fb37110013e411d0a 100644 (file)
@@ -2846,8 +2846,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info,
           }
       }
     if ((photometric == PHOTOMETRIC_RGB) &&
-        (IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse))
+        (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse))
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     switch (image->endian)
     {
@@ -2972,8 +2971,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info,
         if (image_info->quality != UndefinedCompressionQuality)
           (void) TIFFSetField(tiff,TIFFTAG_JPEGQUALITY,image_info->quality);
         (void) TIFFSetField(tiff,TIFFTAG_JPEGCOLORMODE,JPEGCOLORMODE_RAW);
-        if ((IssRGBColorspace(image->colorspace) != MagickFalse) ||
-            (IsRGBColorspace(image->colorspace) != MagickFalse))
+        if (IssRGBCompatibleColorspace(image->colorspace) != MagickFalse)
           {
             const char
               *value;
index 247fdb3f745ebe8c7eafb9d535f0cf50026838ba..8c539f04d93ec769c103f85f5f3be78d392d9dde 100644 (file)
@@ -214,8 +214,7 @@ static MagickBooleanType WriteUILImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   transparent=MagickFalse;
   i=0;
index d0d92ee475f33654fba3d2a63eee9ee7f0311bb5..02fa813223a6480816959db57f5dec7ac1e62248 100644 (file)
@@ -457,9 +457,7 @@ static MagickBooleanType WriteVICARImage(const ImageInfo *image_info,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Write header.
index 6f3bcfd5c329486c6b93662b7244018659718fd7..2cfd1c742ddfe583aff78a1a0041246d3e01d368 100644 (file)
@@ -974,9 +974,7 @@ static MagickBooleanType WriteVIFFImage(const ImageInfo *image_info,
     /*
       Initialize VIFF image structure.
     */
-    if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IsImageGray(image,exception) == MagickFalse))
+    if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     viff_info.identifier=(char) 0xab;
     viff_info.file_type=1;
index 0f6bd51d34ee627eff6139008be5d1c876c673ad..af86c2d917615606d77e95ec78433ff00b9b790f 100644 (file)
@@ -378,9 +378,7 @@ static MagickBooleanType WriteWBMPImage(const ImageInfo *image_info,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Convert image to a bi-level image.
index fc37238e043288ff0c02207c10d427ec1190cb54..404c783950c9d24984416261155cab692d21d53e 100644 (file)
@@ -511,9 +511,7 @@ static MagickBooleanType WriteXBMImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsImageGray(image,exception) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Write X bitmap header.
index fe91d7d8b1f5c080c7fd649b7f375d6e4fe1b404..f17348c8d46b5b9993a08475e37718eea12f8641 100644 (file)
@@ -631,8 +631,7 @@ static MagickBooleanType WritePICONImage(const ImageInfo *image_info,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   SetGeometry(image,&geometry);
   (void) ParseMetaGeometry(PiconGeometry,&geometry.x,&geometry.y,
@@ -879,8 +878,7 @@ static MagickBooleanType WriteXPMImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   opacity=(-1);
   if (image->matte == MagickFalse)
index 3667b6738d5150bcc9fc98d03bddc7a0f6257da0..222ed6284aad94fa4162cb97cdc2ec1e7d79d20b 100644 (file)
@@ -649,8 +649,7 @@ static MagickBooleanType WriteXWDImage(const ImageInfo *image_info,Image *image,
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+  if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   /*
     Initialize XWD file header.