]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 17 Feb 2013 18:46:40 +0000 (18:46 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 17 Feb 2013 18:46:40 +0000 (18:46 +0000)
MagickWand/mogrify.c
MagickWand/operation.c

index 9965119abf8ec7bfad438899308456738379d43e..52269474590037049c764e085ca73e85ce75b80b 100644 (file)
@@ -7465,8 +7465,29 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info,
                   status&=CompositeImage(composite_image,mask_image,
                     CopyGreenCompositeOp,MagickTrue,0,0,exception);
                 else
-                  status&=CompositeImage(composite_image,mask_image,
-                    IntensityCompositeOp,MagickTrue,0,0,exception);
+                  {
+                    Image
+                      *image;
+
+                    RectangleInfo
+                      composite_geometry;
+
+                    composite_geometry.width=mask_image->columns;
+                    composite_geometry.height=mask_image->rows;
+                    composite_geometry.x=(-geometry.x);
+                    composite_geometry.y=(-geometry.y);
+                    geometry.x=0;
+                    geometry.y=0;
+                    image=ExtentImage(composite_image,&composite_geometry,
+                     exception);
+                    if (image != (Image *) NULL)
+                      {
+                        composite_image=DestroyImage(composite_image);
+                        composite_image=image;
+                      }
+                    status&=CompositeImage(composite_image,mask_image,
+                      IntensityCompositeOp,MagickTrue,0,0,exception);
+                  }
                 mask_image=DestroyImage(mask_image);
               }
             (void) CompositeImage(image,composite_image,image->compose,
index 6363d1da2a51b3188e0a67b670b50e01aa7a8412..a9c7b134f1cea7929f9a4f9716390ebc6e323d4e 100644 (file)
@@ -3666,8 +3666,28 @@ WandPrivate MagickBooleanType CLIListOperatorImages(MagickCLI *cli_wand,
                 status&=CompositeImage(source_image,mask_image,
                   CopyGreenCompositeOp,MagickTrue,0,0,_exception);
               else
-                status&=CompositeImage(source_image,mask_image,
-                  IntensityCompositeOp,MagickTrue,0,0,_exception);
+                {
+                  Image
+                    *image;
+
+                  RectangleInfo
+                    source_geometry;
+
+                  source_geometry.width=mask_image->columns;
+                  source_geometry.height=mask_image->rows;
+                  source_geometry.x=(-geometry.x);
+                  source_geometry.y=(-geometry.y);
+                  geometry.x=0;
+                  geometry.y=0;
+                  image=ExtentImage(source_image,&source_geometry,_exception);
+                  if (image != (Image *) NULL)
+                    {
+                      source_image=DestroyImage(source_image);
+                      source_image=image;
+                    }
+                  status&=CompositeImage(source_image,mask_image,
+                    IntensityCompositeOp,MagickTrue,0,0,_exception);
+                }
               mask_image=DestroyImage(mask_image);
             }
           status&=CompositeImage(new_images,source_image,compose,clip_to_self,