GraphicsMagick: Trim requires NorthWestGravity.

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.43510.1640371612.2008.graphicsmagick-commit@lists.sourceforge.net>
changeset cfb1055afd82 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=cfb1055afd82
summary: Trim requires NorthWestGravity.

diffstat:

 ChangeLog                              |  13 +++++++++++++
 Magick++/lib/Image.cpp                 |   3 +++
 VisualMagick/installer/inc/version.isx |   4 ++--
 magick/analyze.c                       |   5 +++++
 magick/command.c                       |   2 ++
 magick/transform.c                     |  20 ++++++++++++++++++++
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |  11 +++++++++++
 8 files changed, 58 insertions(+), 4 deletions(-)

diffs (171 lines):

diff -r 3b613b68681b -r cfb1055afd82 ChangeLog
--- a/ChangeLog	Thu Dec 23 18:20:21 2021 -0600
+++ b/ChangeLog	Fri Dec 24 12:46:36 2021 -0600
@@ -1,3 +1,16 @@
+2021-12-24  Bob Friesenhahn  <[email protected]>
+
+        * magick/transform.c (TransformImage): Trace crop geometry. Trace
+        transform geometry.
+        (CropImage): Trace crop geometry. Trace bounding page.
+
+        * Magick++/lib/Image.cpp (Magick::Image::trim): Trim requires
+        NorthWestGravity.
+
+        * magick/command.c (MogrifyImage): Trim requires
+        NorthWestGravity. Fixes SourceForge issue #653 "convert: warning
+        when using -gravity with -trim".  This was more than a warning.
+
 2021-12-23  Bob Friesenhahn  <[email protected]>
 
         * coders/jp2.c: Properly support passing JasPer options for
diff -r 3b613b68681b -r cfb1055afd82 Magick++/lib/Image.cpp
--- a/Magick++/lib/Image.cpp	Thu Dec 23 18:20:21 2021 -0600
+++ b/Magick++/lib/Image.cpp	Fri Dec 24 12:46:36 2021 -0600
@@ -2042,6 +2042,9 @@
 {
   // width=0, height=0 trims edges
   Geometry cropInfo(0,0);
+  // SourceForge issue #653 Trim requires NorthWestGravity
+  if (constImage()->gravity != NorthWestGravity)
+    image()->gravity=NorthWestGravity;
   crop ( cropInfo );
 }
 
diff -r 3b613b68681b -r cfb1055afd82 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Thu Dec 23 18:20:21 2021 -0600
+++ b/VisualMagick/installer/inc/version.isx	Fri Dec 24 12:46:36 2021 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020211223"
-#define public MagickPackageReleaseDate "snapshot-20211223"
+#define public MagickPackageVersionAddendum ".020211224"
+#define public MagickPackageReleaseDate "snapshot-20211224"
diff -r 3b613b68681b -r cfb1055afd82 magick/analyze.c
--- a/magick/analyze.c	Thu Dec 23 18:20:21 2021 -0600
+++ b/magick/analyze.c	Fri Dec 24 12:46:36 2021 -0600
@@ -17,6 +17,7 @@
 #include "magick/studio.h"
 #include "magick/analyze.h"
 #include "magick/color.h"
+#include "magick/log.h"
 #include "magick/monitor.h"
 #include "magick/pixel_cache.h"
 #include "magick/pixel_iterator.h"
@@ -252,6 +253,10 @@
       bounds.x=0;
       bounds.y=0;
     }
+  if (image->logging)
+    (void) LogMagickEvent(TransformEvent,GetMagickModule(),
+                          "Bounding Box: %lux%lu%+ld%+ld",
+                          bounds.width, bounds.height, bounds.x, bounds.y);
 
   return(bounds);
 }
diff -r 3b613b68681b -r cfb1055afd82 magick/command.c
--- a/magick/command.c	Thu Dec 23 18:20:21 2021 -0600
+++ b/magick/command.c	Fri Dec 24 12:46:36 2021 -0600
@@ -11135,6 +11135,8 @@
           }
         if (LocaleCompare("trim",option+1) == 0)
           {
+            /* SourceForge issue #653 Trim requires NorthWestGravity */
+            (*image)->gravity=NorthWestGravity;
             TransformImage(image,"0x0",(char *) NULL);
             continue;
           }
diff -r 3b613b68681b -r cfb1055afd82 magick/transform.c
--- a/magick/transform.c	Thu Dec 23 18:20:21 2021 -0600
+++ b/magick/transform.c	Fri Dec 24 12:46:36 2021 -0600
@@ -40,6 +40,7 @@
 #include "magick/analyze.h"
 #include "magick/color.h"
 #include "magick/composite.h"
+#include "magick/log.h"
 #include "magick/monitor.h"
 #include "magick/pixel_cache.h"
 #include "magick/resize.h"
@@ -504,6 +505,11 @@
   assert(geometry != (const RectangleInfo *) NULL);
   assert(exception != (ExceptionInfo *) NULL);
   assert(exception->signature == MagickSignature);
+  if (image->logging)
+    (void) LogMagickEvent(TransformEvent,GetMagickModule(),
+                          "Crop Geometry: %lux%lu%+ld%+ld",
+                          geometry->width, geometry->height,
+                          geometry->x, geometry->y);
   if ((geometry->width != 0) || (geometry->height != 0))
     {
       if (((geometry->x+(long) geometry->width) < 0) ||
@@ -545,6 +551,10 @@
       page.y-=geometry->y;
       if (page.y < 0)
         page.y=0;
+      if (image->logging)
+        (void) LogMagickEvent(TransformEvent,GetMagickModule(),
+                              "Bounding Page: %lux%lu%+ld%+ld",
+                              page.width, page.height, page.x, page.y);
       if ((((long) page.width+page.x) > (long) image->columns) ||
           (((long) page.height+page.y) > (long) image->rows))
         ThrowImageException(OptionError,GeometryDoesNotContainImage,
@@ -1677,6 +1687,11 @@
       */
       crop_image=(Image *) NULL;
       flags=GetImageGeometry(transform_image,crop_geometry,False,&geometry);
+      if (transform_image->logging)
+        (void) LogMagickEvent(TransformEvent,GetMagickModule(),
+                              "Crop Geometry: %lux%lu%+ld%+ld",
+                              geometry.width, geometry.height,
+                              geometry.x, geometry.y);
       if ((geometry.width == 0) || (geometry.height == 0) ||
           ((flags & XValue) != 0) || ((flags & YValue) != 0) ||
           (flags & PercentValue))
@@ -1755,6 +1770,11 @@
   SetGeometry(transform_image,&geometry);
   flags=GetMagickGeometry(image_geometry,&geometry.x,&geometry.y,
                           &geometry.width,&geometry.height);
+  if (transform_image->logging)
+    (void) LogMagickEvent(TransformEvent,GetMagickModule(),
+                          "Transform Geometry: %lux%lu%+ld%+ld",
+                          geometry.width, geometry.height,
+                          geometry.x, geometry.y);
   if ((transform_image->columns == geometry.width) &&
       (transform_image->rows == geometry.height))
     return status;
diff -r 3b613b68681b -r cfb1055afd82 magick/version.h
--- a/magick/version.h	Thu Dec 23 18:20:21 2021 -0600
+++ b/magick/version.h	Fri Dec 24 12:46:36 2021 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x262300
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 26,23,0
-#define MagickChangeDate   "20211223"
-#define MagickReleaseDate  "snapshot-20211223"
+#define MagickChangeDate   "20211224"
+#define MagickReleaseDate  "snapshot-20211224"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 3b613b68681b -r cfb1055afd82 www/Changelog.html
--- a/www/Changelog.html	Thu Dec 23 18:20:21 2021 -0600
+++ b/www/Changelog.html	Fri Dec 24 12:46:36 2021 -0600
@@ -35,6 +35,17 @@
 <div class="document">
 
 
+<p>2021-12-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<p>* magick/transform.c (TransformImage): Trace crop geometry. Trace
+transform geometry.
+(CropImage): Trace crop geometry. Trace bounding page.</p>
+<p>* Magick++/lib/Image.cpp (Magick::Image::trim): Trim requires
+NorthWestGravity.</p>
+<p>* magick/command.c (MogrifyImage): Trim requires
+NorthWestGravity. Fixes SourceForge issue #653 &quot;convert: warning
+when using -gravity with -trim&quot;.  This was more than a warning.</p>
+</blockquote>
 <p>2021-12-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 * coders/jp2.c: Properly support passing JasPer options for
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.