]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/transform.c
(no commit message)
[imagemagick] / MagickCore / transform.c
index c5f2726db04ed7b2f9da15779f3772ecd0f64a69..0848029c30b6a741b520bca93bde7c90b9758c3f 100644 (file)
@@ -330,9 +330,9 @@ MagickExport Image *ConsolidateCMYKImages(const Image *images,
       exception);
     if (cmyk_image == (Image *) NULL)
       break;
-    if (SetImageStorageClass(cmyk_image,DirectClass) == MagickFalse)
+    if (SetImageStorageClass(cmyk_image,DirectClass,exception) == MagickFalse)
       break;
-    (void) SetImageColorspace(cmyk_image,CMYKColorspace);
+    (void) SetImageColorspace(cmyk_image,CMYKColorspace,exception);
     image_view=AcquireCacheView(images);
     cmyk_view=AcquireCacheView(cmyk_image);
     for (y=0; y < (ssize_t) images->rows; y++)
@@ -715,6 +715,7 @@ MagickExport Image *CropImage(const Image *image,const RectangleInfo *geometry,
 %    o exception: return any errors or warnings in this structure.
 %
 */
+
 static inline ssize_t MagickRound(MagickRealType x)
 {
   /*
@@ -742,30 +743,11 @@ MagickExport Image *CropImageToTiles(const Image *image,
   assert(image->signature == MagickSignature);
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
-
   crop_image=NewImageList();
   next=NewImageList();
   flags=ParseGravityGeometry(image,crop_geometry,&geometry,exception);
-
   if ((flags & AreaValue) != 0)
     {
-      /*
-      MagickBooleanType
-        proceed;
-
-      MagickProgressMonitor
-        progress_monitor;
-
-      MagickOffsetType
-        i;
-
-      MagickSizeType
-        number_images;
-      */
-      size_t
-        height,
-        width;
-
       PointInfo
         delta,
         offset;
@@ -773,8 +755,12 @@ MagickExport Image *CropImageToTiles(const Image *image,
       RectangleInfo
         crop;
 
+      size_t
+        height,
+        width;
+
       /*
-        Crop into NxM tiles (@ flag)
+        Crop into NxM tiles (@ flag).
       */
       width=image->columns;
       height=image->rows;
@@ -794,69 +780,55 @@ MagickExport Image *CropImageToTiles(const Image *image,
         }
       delta.x=(double) width/geometry.width;
       delta.y=(double) height/geometry.height;
-      /*proceed=MagickTrue;
-      i=0;
-      number_images=geometry.width*geometry.height;*/
       for (offset.y=0; offset.y < (double) height; )
       {
         if ((flags & AspectValue) == 0)
           {
-            crop.y=(ssize_t) MagickRound((MagickRealType)
-              (offset.y-(geometry.y > 0 ? 0 : geometry.y)));
+            crop.y=(ssize_t) MagickRound((MagickRealType) (offset.y-
+              (geometry.y > 0 ? 0 : geometry.y)));
             offset.y+=delta.y;   /* increment now to find width */
-            crop.height=(size_t) MagickRound((MagickRealType)
-              (offset.y+(geometry.y < 0 ? 0 : geometry.y)));
+            crop.height=(size_t) MagickRound((MagickRealType) (offset.y+
+              (geometry.y < 0 ? 0 : geometry.y)));
           }
         else
           {
-            crop.y=(ssize_t) MagickRound((MagickRealType)
-              (offset.y-(geometry.y > 0 ? geometry.y : 0)));
+            crop.y=(ssize_t) MagickRound((MagickRealType) (offset.y-
+              (geometry.y > 0 ? geometry.y : 0)));
             offset.y+=delta.y;  /* increment now to find width */
             crop.height=(size_t) MagickRound((MagickRealType)
-              (offset.y+(geometry.y < 0 ? geometry.y : 0)));
+              (offset.y+(geometry.y < -1 ? geometry.y : 0)));
           }
         crop.height-=crop.y;
         crop.y+=image->page.y;
         for (offset.x=0; offset.x < (double) width; )
         {
-          /*progress_monitor=SetImageProgressMonitor(image,
-            (MagickProgressMonitor) NULL,image->client_data);*/
           if ((flags & AspectValue) == 0)
             {
-              crop.x=(ssize_t) MagickRound((MagickRealType)
-                (offset.x-(geometry.x > 0 ? 0 : geometry.x)));
-              offset.x+=+delta.x;  /* increment now to find height*/
-              crop.width=(size_t) MagickRound((MagickRealType)
-                (offset.x+(geometry.x < 0 ? 0 : geometry.x)));
+              crop.x=(ssize_t) MagickRound((MagickRealType) (offset.x-
+                (geometry.x > 0 ? 0 : geometry.x)));
+              offset.x+=delta.x;  /* increment now to find height */
+              crop.width=(size_t) MagickRound((MagickRealType) (offset.x+
+                (geometry.x < 0 ? 0 : geometry.x)));
             }
           else
             {
               crop.x=(ssize_t) MagickRound((MagickRealType) (offset.x-
                 (geometry.x > 0 ? geometry.x : 0)));
-              offset.x+=+delta.x;  /* increment now to find height */
-              crop.width=(size_t) MagickRound((MagickRealType)
-                (offset.x+(geometry.x < 0 ? geometry.x : 0)));
+              offset.x+=delta.x;  /* increment now to find height */
+              crop.width=(size_t) MagickRound((MagickRealType) (offset.x+
+                (geometry.x < 0 ? geometry.x : 0)));
             }
           crop.width-=crop.x;
           crop.x+=image->page.x;
           next=CropImage(image,&crop,exception);
-          /*(void) SetImageProgressMonitor(image,progress_monitor,
-            image->client_data);
-          proceed=SetImageProgress(image,CropImageTag,i++,number_images);
-          if (proceed == MagickFalse)
-            break;
-          */
           if (next == (Image *) NULL)
             break;
-          /*(void) SetImageProgressMonitor(next,progress_monitor,
-            next->client_data);*/
           AppendImageToList(&crop_image,next);
         }
         if (next == (Image *) NULL)
           break;
-        /*if (proceed == MagickFalse)
-          break;*/
       }
+      ClearMagickException(exception);
       return(crop_image);
     }
 
@@ -876,23 +848,11 @@ MagickExport Image *CropImageToTiles(const Image *image,
         }
       return(crop_image);
      }
-
-  if ((image->columns > geometry.width) ||
-      (image->rows > geometry.height))
+  if ((image->columns > geometry.width) || (image->rows > geometry.height))
     {
-      /*
-      MagickBooleanType
-        proceed;
-
-      MagickProgressMonitor
-        progress_monitor;
-
-      MagickOffsetType
-        i;
+      RectangleInfo
+        page;
 
-      MagickSizeType
-        number_images;
-      */
       size_t
         height,
         width;
@@ -901,9 +861,6 @@ MagickExport Image *CropImageToTiles(const Image *image,
         x,
         y;
 
-      RectangleInfo
-        page;
-
       /*
         Crop into tiles of fixed size WxH.
       */
@@ -919,48 +876,24 @@ MagickExport Image *CropImageToTiles(const Image *image,
       if (height == 0)
         height=page.height;
       next=NewImageList();
-      /*proceed=MagickTrue;
-      i=0;
-      number_images=0;
-      for (y=0; y < (ssize_t) page.height; y+=(ssize_t) height)
-        for (x=0; x < (ssize_t) page.width; x+=(ssize_t) width)
-          number_images++;
-      */
       for (y=0; y < (ssize_t) page.height; y+=(ssize_t) height)
       {
         for (x=0; x < (ssize_t) page.width; x+=(ssize_t) width)
         {
-          /*progress_monitor=SetImageProgressMonitor(image,
-            (MagickProgressMonitor) NULL,image->client_data);*/
           geometry.width=width;
           geometry.height=height;
           geometry.x=x;
           geometry.y=y;
           next=CropImage(image,&geometry,exception);
-          /*(void) SetImageProgressMonitor(image,progress_monitor,
-            image->client_data);
-          proceed=SetImageProgress(image,CropImageTag,i++,number_images);
-          if (proceed == MagickFalse)
-            break;
-          */
           if (next == (Image *) NULL)
             break;
-          /*(void) SetImageProgressMonitor(next,progress_monitor,
-            next->client_data);*/
           AppendImageToList(&crop_image,next);
         }
         if (next == (Image *) NULL)
           break;
-        /*if (proceed == MagickFalse)
-          break;*/
-
       }
       return(crop_image);
     }
-  /*
-    Action of crop results in no change in image!
-    This is not an error so return a clone of the image!
-  */
   return(CloneImage(image,0,0,MagickTrue,exception));
 }
 \f
@@ -1145,9 +1078,8 @@ MagickExport Image *ExtentImage(const Image *image,
     exception);
   if (extent_image == (Image *) NULL)
     return((Image *) NULL);
-  if (SetImageStorageClass(extent_image,DirectClass) == MagickFalse)
+  if (SetImageStorageClass(extent_image,DirectClass,exception) == MagickFalse)
     {
-      InheritException(exception,&extent_image->exception);
       extent_image=DestroyImage(extent_image);
       return((Image *) NULL);
     }
@@ -1705,9 +1637,8 @@ MagickExport Image *SpliceImage(const Image *image,
     image->rows+splice_geometry.height,MagickTrue,exception);
   if (splice_image == (Image *) NULL)
     return((Image *) NULL);
-  if (SetImageStorageClass(splice_image,DirectClass) == MagickFalse)
+  if (SetImageStorageClass(splice_image,DirectClass,exception) == MagickFalse)
     {
-      InheritException(exception,&splice_image->exception);
       splice_image=DestroyImage(splice_image);
       return((Image *) NULL);
     }