]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Fri, 14 Jul 2017 11:05:02 +0000 (07:05 -0400)
committerCristy <urban-warrior@imagemagick.org>
Fri, 14 Jul 2017 11:05:02 +0000 (07:05 -0400)
PerlMagick/Magick.xs
PerlMagick/quantum/quantum.xs.in

index 9aac8c9f39bae230ca53a5707bc8833af6fc1993..4664d14985640a362a8f6c43954929453ecccf38 100644 (file)
@@ -8221,8 +8221,15 @@ Mogrify(ref,...)
         case 22:  /* Roll */
         {
           if (attribute_flag[0] != 0)
-            flags=ParsePageGeometry(image,argument_list[0].string_reference,
-              &geometry,exception);
+            {
+              flags=ParsePageGeometry(image,argument_list[0].string_reference,
+                &geometry,exception);
+              if ((flags & PercentValue) != 0)
+                {
+                  geometry.x*=(double) image->columns/100.0;
+                  geometry.y*=(double) image->rows/100.0;
+                }
+            }
           if (attribute_flag[1] != 0)
             geometry.x=argument_list[1].integer_reference;
           if (attribute_flag[2] != 0)
index f59be652e66c306a1448d79e7f9841558d3aa14b..c018990320eb7beaf0c58b6fef99ae0b9f82bfa8 100644 (file)
@@ -8218,8 +8218,15 @@ Mogrify(ref,...)
         case 22:  /* Roll */
         {
           if (attribute_flag[0] != 0)
-            flags=ParsePageGeometry(image,argument_list[0].string_reference,
-              &geometry,exception);
+            {
+              flags=ParsePageGeometry(image,argument_list[0].string_reference,
+                &geometry,exception);
+              if ((flags & PercentValue) != 0)
+                { 
+                  geometry.x*=(double) image->columns/100.0;
+                  geometry.y*=(double) image->rows/100.0;
+                }
+            }
           if (attribute_flag[1] != 0)
             geometry.x=argument_list[1].integer_reference;
           if (attribute_flag[2] != 0)