]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/montage.c
(no commit message)
[imagemagick] / MagickCore / montage.c
index d08f55027007f39a508ebea61d9ee24c9ce6c5a0..900e300bf0144f11c44becb83f4e2a605178494f 100644 (file)
@@ -17,7 +17,7 @@
 %                                 July 1992                                   %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
 %  You may not use this file except in compliance with the License.  You may  %
@@ -63,6 +63,7 @@
 #include "MagickCore/monitor-private.h"
 #include "MagickCore/montage.h"
 #include "MagickCore/option.h"
+#include "MagickCore/pixel.h"
 #include "MagickCore/quantize.h"
 #include "MagickCore/property.h"
 #include "MagickCore/resize.h"
@@ -568,7 +569,7 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
   number_lines=0;
   for (i=0; i < (ssize_t) number_images; i++)
   {
-    value=GetImageProperty(image_list[i],"label");
+    value=GetImageProperty(image_list[i],"label",exception);
     if (value == (const char *) NULL)
       continue;
     if (MultilineCensus(value) > number_lines)
@@ -636,9 +637,9 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
     */
     (void) CopyMagickString(montage->filename,montage_info->filename,
       MaxTextExtent);
-    montage->columns=MagickMax(bounds.width,1);
-    montage->rows=MagickMax(bounds.height,1);
-    (void) SetImageBackgroundColor(montage);
+    montage->columns=(size_t) MagickMax((ssize_t) bounds.width,1);
+    montage->rows=(size_t) MagickMax((ssize_t) bounds.height,1);
+    (void) SetImageBackgroundColor(montage,exception);
     /*
       Set montage geometry.
     */
@@ -679,7 +680,7 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
     progress_monitor=SetImageProgressMonitor(montage,(MagickProgressMonitor)
       NULL,montage->client_data);
     if (texture != (Image *) NULL)
-      (void) TextureImage(montage,texture);
+      (void) TextureImage(montage,texture,exception);
     if (montage_info->title != (char *) NULL)
       {
         char
@@ -759,9 +760,9 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
           if ((montage_info->frame != (char *) NULL) &&
               (image->compose == DstOutCompositeOp))
             {
-              SetPixelChannelMap(image,AlphaChannel);
+              SetPixelChannelMapMask(image,AlphaChannel);
               (void) NegateImage(image,MagickFalse,exception);
-              SetPixelChannelMap(image,DefaultChannels);
+              SetPixelChannelMapMask(image,DefaultChannels);
             }
         }
       /*
@@ -791,7 +792,7 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
           extract_info=frame_info;
           extract_info.width=width+2*frame_info.width;
           extract_info.height=height+2*frame_info.height;
-          value=GetImageProperty(image,"label");
+          value=GetImageProperty(image,"label",exception);
           if (value != (const char *) NULL)
             extract_info.height+=(size_t) ((metrics.ascent-
               metrics.descent+4)*MultilineCensus(value));
@@ -817,19 +818,20 @@ MagickExport Image *MontageImageList(const ImageInfo *image_info,
               /*
                 Shadow image.
               */
-              (void) QueryColorCompliance("#00000000",AllCompliance,
+              (void) QueryColorCompliance("#0000",AllCompliance,
                 &image->background_color,exception);
               shadow_image=ShadowImage(image,80.0,2.0,5,5,exception);
               if (shadow_image != (Image *) NULL)
                 {
-                  (void) CompositeImage(shadow_image,OverCompositeOp,image,0,0);
+                  (void) CompositeImage(shadow_image,image,OverCompositeOp,
+                    MagickTrue,0,0,exception);
                   image=DestroyImage(image);
                   image=shadow_image;
                 }
           }
-          (void) CompositeImage(montage,image->compose,image,x_offset+x,
-            y_offset+y);
-          value=GetImageProperty(image,"label");
+          (void) CompositeImage(montage,image,image->compose,MagickTrue,
+            x_offset+x,y_offset+y,exception);
+          value=GetImageProperty(image,"label",exception);
           if (value != (const char *) NULL)
             {
               char