From 19ecf1c45101feace3427550c5f5d162433ac204 Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 21 Sep 2017 19:49:22 -0400 Subject: [PATCH] ... --- MagickCore/pixel-accessor.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/MagickCore/pixel-accessor.h b/MagickCore/pixel-accessor.h index 00853ae1a..c0b6d5fa0 100644 --- a/MagickCore/pixel-accessor.h +++ b/MagickCore/pixel-accessor.h @@ -465,6 +465,11 @@ static inline MagickBooleanType IsPixelEquivalent( beta, value; + value=(MagickRealType) p[image->channel_map[AlphaPixelChannel].offset]; + alpha=image->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : value; + beta=q->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : q->alpha; + if ((alpha == TransparentOpacity) || (beta == TransparentOpacity)) + return(MagickTrue); /* no color component if pixel is transparent */ value=(MagickRealType) p[image->channel_map[RedPixelChannel].offset]; if (AbsolutePixelValue(value-q->red) >= MagickEpsilon) return(MagickFalse); @@ -480,9 +485,6 @@ static inline MagickBooleanType IsPixelEquivalent( if (AbsolutePixelValue(value-q->black) >= MagickEpsilon) return(MagickFalse); } - value=(MagickRealType) p[image->channel_map[AlphaPixelChannel].offset]; - alpha=image->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : value; - beta=q->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : q->alpha; if (AbsolutePixelValue(alpha-beta) >= MagickEpsilon) return(MagickFalse); return(MagickTrue); @@ -513,6 +515,10 @@ static inline MagickBooleanType IsPixelInfoEquivalent( alpha, beta; + alpha=p->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : p->alpha; + beta=q->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : q->alpha; + if ((alpha == TransparentOpacity) || (beta == TransparentOpacity)) + return(MagickTrue); /* no color component if pixel is transparent */ if (AbsolutePixelValue(p->red-q->red) >= MagickEpsilon) return(MagickFalse); if (AbsolutePixelValue(p->green-q->green) >= MagickEpsilon) @@ -524,8 +530,6 @@ static inline MagickBooleanType IsPixelInfoEquivalent( if (AbsolutePixelValue(p->black-q->black) >= MagickEpsilon) return(MagickFalse); } - alpha=p->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : p->alpha; - beta=q->alpha_trait == UndefinedPixelTrait ? OpaqueAlpha : q->alpha; if (AbsolutePixelValue(alpha-beta) >= MagickEpsilon) return(MagickFalse); return(MagickTrue); -- 2.40.0