]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 16 Feb 2011 03:26:09 +0000 (03:26 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 16 Feb 2011 03:26:09 +0000 (03:26 +0000)
magick/composite.c

index 2ad25be55bdea6c20bc94af5c93de5986aed67b5..485c4aea50701fe25a9f6bc4d456a2a9b538207a 100644 (file)
@@ -2194,8 +2194,7 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
         if (x_offset < 0)
           p-=x_offset;
       }
-    q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,
-      exception);
+    q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,exception);
     if (q == (PixelPacket *) NULL)
       {
         status=MagickFalse;
@@ -2225,12 +2224,14 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
       destination.blue=(MagickRealType) q->blue;
       if (image->matte != MagickFalse)
         destination.opacity=(MagickRealType) q->opacity;
+      if (image->colorspace == CMYKColorspace)
+        destination.index=(MagickRealType) indexes[x];
       if (image->colorspace == CMYKColorspace)
         {
           destination.red=(MagickRealType) QuantumRange-destination.red;
           destination.green=(MagickRealType) QuantumRange-destination.green;
           destination.blue=(MagickRealType) QuantumRange-destination.blue;
-          destination.index=(MagickRealType) (QuantumRange-indexes[x]);
+          destination.index=(MagickRealType) QuantumRange-destination.index;
         }
       /*
         Handle destination modifications outside overlaid region.
@@ -2298,13 +2299,14 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
       source.blue=(MagickRealType) GetBluePixelComponent(p);
       if (composite_image->matte != MagickFalse)
         source.opacity=(MagickRealType) GetOpacityPixelComponent(p);
+      if (composite_image->colorspace == CMYKColorspace)
+        source.index=(MagickRealType) composite_indexes[x-x_offset];
       if (composite_image->colorspace == CMYKColorspace)
         {
           source.red=(MagickRealType) QuantumRange-source.red;
           source.green=(MagickRealType) QuantumRange-source.green;
           source.blue=(MagickRealType) QuantumRange-source.blue;
-          source.index=(MagickRealType) QuantumRange-(MagickRealType)
-            composite_indexes[x-x_offset];
+          source.index=(MagickRealType) QuantumRange-source.index;
         }
       switch (compose)
       {
@@ -2327,14 +2329,14 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
         case OverCompositeOp:
         case SrcOverCompositeOp:
         {
-          MagickPixelCompositeOver(&source,source.opacity,
-               &destination,destination.opacity,&composite);
+          MagickPixelCompositeOver(&source,source.opacity,&destination,
+            destination.opacity,&composite);
           break;
         }
         case DstOverCompositeOp:
         {
-          MagickPixelCompositeOver(&destination,destination.opacity,
-               &source,source.opacity,&composite);
+          MagickPixelCompositeOver(&destination,destination.opacity,&source,
+            source.opacity,&composite);
           break;
         }
         case SrcInCompositeOp:
@@ -2383,8 +2385,7 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
         }
         case MinusCompositeOp:
         {
-          CompositeMinus(&source,&destination,
-            channel,&composite);
+          CompositeMinus(&source,&destination,channel,&composite);
           break;
         }
         case ModulusAddCompositeOp:
@@ -2435,7 +2436,7 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
         case MathematicsCompositeOp:
         {
           CompositeMathematics(&source,&destination,channel,&geometry_info,
-               &composite);
+            &composite);
           break;
         }
         /* Lighting Compositions */
@@ -2514,9 +2515,9 @@ MagickExport MagickBooleanType CompositeImageChannel(Image *image,
         }
         case DissolveCompositeOp:
         {
-          MagickPixelCompositeOver(&source,(MagickRealType) (QuantumRange-source_dissolve*
-            (QuantumRange-source.opacity)),&destination,(MagickRealType)
-            (QuantumRange-destination_dissolve*(QuantumRange-
+          MagickPixelCompositeOver(&source,(MagickRealType) (QuantumRange-
+            source_dissolve*(QuantumRange-source.opacity)),&destination,
+            (MagickRealType) (QuantumRange-destination_dissolve*(QuantumRange-
             destination.opacity)),&composite);
           break;
         }