From: cristy Date: Wed, 8 Dec 2010 02:54:25 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~8414 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74ea2cdfae92d1caf613481a3f69f75901168258;p=imagemagick --- diff --git a/ChangeLog b/ChangeLog index 11ff846e5..f87f7d03a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-12-07 6.6.6-4 Cristy + * Account for virtual canvas for the -flip / -flop options (reference + http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=17626). + 2010-12-06 6.6.6-4 Anthony Thyssen * Ordered Dithered handling of Alpha channel was incorrect - fixing Bug was introduced v6.6.5-6 diff --git a/magick/transform.c b/magick/transform.c index bf1c28e73..909acc652 100644 --- a/magick/transform.c +++ b/magick/transform.c @@ -936,6 +936,9 @@ MagickExport Image *FlipImage(const Image *image,ExceptionInfo *exception) MagickOffsetType progress; + RectangleInfo + page; + ssize_t y; @@ -953,6 +956,7 @@ MagickExport Image *FlipImage(const Image *image,ExceptionInfo *exception) */ status=MagickTrue; progress=0; + page=image->page; image_view=AcquireCacheView(image); flip_view=AcquireCacheView(flip_image); #if defined(MAGICKCORE_OPENMP_SUPPORT) @@ -1009,6 +1013,11 @@ MagickExport Image *FlipImage(const Image *image,ExceptionInfo *exception) flip_view=DestroyCacheView(flip_view); image_view=DestroyCacheView(image_view); flip_image->type=image->type; + if (page.width != 0) + page.x=(ssize_t) (page.width-flip_image->columns-page.x); + if (page.height != 0) + page.y=(ssize_t) (page.height-flip_image->rows-page.y); + flip_image->page=page; if (status == MagickFalse) flip_image=DestroyImage(flip_image); return(flip_image); @@ -1056,6 +1065,9 @@ MagickExport Image *FlopImage(const Image *image,ExceptionInfo *exception) MagickOffsetType progress; + RectangleInfo + page; + ssize_t y; @@ -1073,6 +1085,7 @@ MagickExport Image *FlopImage(const Image *image,ExceptionInfo *exception) */ status=MagickTrue; progress=0; + page=image->page; image_view=AcquireCacheView(image); flop_view=AcquireCacheView(flop_image); #if defined(MAGICKCORE_OPENMP_SUPPORT) @@ -1133,6 +1146,11 @@ MagickExport Image *FlopImage(const Image *image,ExceptionInfo *exception) flop_view=DestroyCacheView(flop_view); image_view=DestroyCacheView(image_view); flop_image->type=image->type; + if (page.width != 0) + page.x=(ssize_t) (page.width-flop_image->columns-page.x); + if (page.height != 0) + page.y=(ssize_t) (page.height-flop_image->rows-page.y); + flop_image->page=page; if (status == MagickFalse) flop_image=DestroyImage(flop_image); return(flop_image);