From e8758e09093361175aae6d03f4046329a91fea7e Mon Sep 17 00:00:00 2001 From: Cristy Date: Sat, 16 Mar 2019 14:17:01 -0400 Subject: [PATCH] https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=35650 --- ChangeLog | 4 ++++ MagickCore/composite-private.h | 4 ++-- MagickCore/draw.c | 7 ++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index f25bd95c7..861aba954 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2019-03-16 7.0.8-35 Cristy + * -draw image DstOver is now responsive to the composite operator (reference + https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=35650). + 2019-03-15 7.0.8-34 Cristy * Release ImageMagick version 7.0.8-34, GIT revision 15413:860af935d:20190315 diff --git a/MagickCore/composite-private.h b/MagickCore/composite-private.h index 9df882e4b..a078445c1 100644 --- a/MagickCore/composite-private.h +++ b/MagickCore/composite-private.h @@ -119,8 +119,8 @@ static inline void CompositePixelOver(const Image *image,const PixelInfo *p, } } -static inline void CompositePixelInfoOver(const PixelInfo *p, - const double alpha,const PixelInfo *q,const double beta,PixelInfo *composite) +static inline void CompositePixelInfoOver(const PixelInfo *p,const double alpha, + const PixelInfo *q,const double beta,PixelInfo *composite) { double Da, diff --git a/MagickCore/draw.c b/MagickCore/draw.c index 315ea1302..1fa505951 100644 --- a/MagickCore/draw.c +++ b/MagickCore/draw.c @@ -5450,7 +5450,12 @@ MagickExport MagickBooleanType DrawPrimitive(Image *image, affine.tx=(double) geometry.x; affine.ty=(double) geometry.y; composite_image->interpolate=image->interpolate; - status&=DrawAffineImage(image,composite_image,&affine,exception); + if ((draw_info->compose == OverCompositeOp) || + (draw_info->compose == SrcOverCompositeOp)) + (void) DrawAffineImage(image,composite_image,&affine,exception); + else + (void) CompositeImage(image,composite_image,draw_info->compose, + MagickTrue,geometry.x,geometry.y,exception); composite_image=DestroyImage(composite_image); break; } -- 2.40.0