]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 8 Feb 2012 23:42:27 +0000 (23:42 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 8 Feb 2012 23:42:27 +0000 (23:42 +0000)
Magick++/tests/attributes.cpp
MagickCore/colorspace.c
MagickCore/constitute.c
MagickCore/image.c

index 95ca49eceb9b018016bccaf7d294d57cb987bd78..2a2ae33dc3269d1d88e1afb0a670dbedaf815d24 100644 (file)
@@ -1212,11 +1212,11 @@ int main( int /*argc*/, char ** argv)
     //
     // renderingIntent
     //
-    if ( image.renderingIntent() != UndefinedIntent )
+    if ( image.renderingIntent() != PerceptualIntent )
       {
        ++failures;
        cout << "Line: " << __LINE__
-             << ", renderingIntent default is not UndefinedIntent as expected"
+             << ", renderingIntent default is not PerceptualIntent as expected"
              << endl;
       }
 
index d6faa141f1e39d856485c3f4542db5c5ffda65d4..957f0e0ea75ab505b41ad41b54e344b6faffc020 100644 (file)
@@ -214,8 +214,6 @@ MagickExport MagickBooleanType RGBTransformImage(Image *image,
   assert(colorspace != RGBColorspace);
   assert(colorspace != TransparentColorspace);
   assert(colorspace != UndefinedColorspace);
-  if (IsRGBColorspace(image->colorspace) == MagickFalse)
-    (void) TransformRGBImage(image,image->colorspace,exception);
   if (SetImageColorspace(image,colorspace,exception) == MagickFalse)
     return(MagickFalse);
   status=MagickTrue;
@@ -1658,12 +1656,6 @@ MagickExport MagickBooleanType TransformRGBImage(Image *image,
   assert(image->signature == MagickSignature);
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
-  if (IsRGBColorspace(image->colorspace) != MagickFalse)
-    {
-      if (SetImageColorspace(image,colorspace,exception) == MagickFalse)
-        return(MagickFalse);
-      return(MagickTrue);
-    }
   status=MagickTrue;
   progress=0;
   switch (image->colorspace)
@@ -2441,7 +2433,6 @@ MagickExport MagickBooleanType TransformRGBImage(Image *image,
       break;
     }
     case YUVColorspace:
-    default:
     {
       /*
         Initialize YUV tables:
@@ -2474,6 +2465,28 @@ MagickExport MagickBooleanType TransformRGBImage(Image *image,
       }
       break;
     }
+    default:
+    {
+      /*
+        Linear conversion tables.
+      */
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+      #pragma omp parallel for schedule(static)
+#endif
+      for (i=0; i <= (ssize_t) MaxMap; i++)
+      {
+        x_map[i].x=(MagickRealType) i;
+        y_map[i].x=0.0f;
+        z_map[i].x=0.0f;
+        x_map[i].y=0.0f;
+        y_map[i].y=(MagickRealType) i;
+        z_map[i].y=0.0f;
+        x_map[i].z=0.0f;
+        y_map[i].z=0.0f;
+        z_map[i].z=(MagickRealType) i;
+      }
+      break;
+    }
   }
   /*
     Convert to RGB.
index b6a9a7e3e01f9522bcfc4fe8f3a0282d861f774c..845d489c7abf521167fa6e2098370321cf698c5b 100644 (file)
@@ -647,6 +647,8 @@ MagickExport Image *ReadImage(const ImageInfo *image_info,
       next->magick_columns=next->columns;
     if (next->magick_rows == 0)
       next->magick_rows=next->rows;
+    if ((next->colorspace == sRGBColorspace) || (next->gamma == 1.0))
+      next->colorspace=RGBColorspace;
     value=GetImageProperty(next,"tiff:Orientation",exception);
     if (value == (char *) NULL)
       value=GetImageProperty(next,"exif:Orientation",exception);
index 59dc79115e0441e88015a3b067ed5c0a8de5a5e8..938cd2370efb6afd759254f9258593a3c170e42d 100644 (file)
@@ -173,6 +173,16 @@ MagickExport Image *AcquireImage(const ImageInfo *image_info,
   image->storage_class=DirectClass;
   image->depth=MAGICKCORE_QUANTUM_DEPTH;
   image->colorspace=sRGBColorspace;
+  image->rendering_intent=PerceptualIntent;
+  image->gamma=0.45455f;
+  image->chromaticity.red_primary.x=0.6400f;
+  image->chromaticity.red_primary.y=0.3300f;
+  image->chromaticity.green_primary.x=0.3000f;
+  image->chromaticity.green_primary.y=0.6000f;
+  image->chromaticity.blue_primary.x=0.1500f;
+  image->chromaticity.blue_primary.y=0.0600f;
+  image->chromaticity.white_point.x=0.3127f;
+  image->chromaticity.white_point.y=0.3290f;
   image->interlace=NoInterlace;
   image->ticks_per_second=UndefinedTicksPerSecond;
   image->compose=OverCompositeOp;