From: cristy Date: Fri, 25 Sep 2009 19:20:55 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~10630 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15b05ee9c89ecb49546bcbe63abc85e2535e1ded;p=imagemagick --- diff --git a/ChangeLog b/ChangeLog index 8d02e1697..5c4f52b5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 2009-09-25 6.5.6-5 Cristy * Support -clamp option. + * Patch for IsMagickColorEqual() for HDRI. 2009-09-25 6.5.6-5 Elf * Patch to fix configure's framework's undefinedness (only if the gslib diff --git a/magick/color-private.h b/magick/color-private.h index 5daeb03c4..663bc4a8a 100644 --- a/magick/color-private.h +++ b/magick/color-private.h @@ -44,6 +44,7 @@ static inline MagickBooleanType IsGray(const PixelPacket *pixel) static inline MagickBooleanType IsMagickColorEqual(const MagickPixelPacket *p, const MagickPixelPacket *q) { +#if !defined(MAGICKCORE_HDRI_SUPPORT) if ((p->matte != MagickFalse) && (q->matte == MagickFalse) && (p->opacity != OpaqueOpacity)) return(MagickFalse); @@ -65,6 +66,29 @@ static inline MagickBooleanType IsMagickColorEqual(const MagickPixelPacket *p, return(MagickFalse); if ((p->colorspace == CMYKColorspace) && (p->index != q->index)) return(MagickFalse); +#else + if ((p->matte != MagickFalse) && (q->matte == MagickFalse) && + (fabs(p->opacity-OpaqueOpacity) > 0.5)) + return(MagickFalse); + if ((q->matte != MagickFalse) && (p->matte == MagickFalse) && + (fabs(q->opacity-OpaqueOpacity)) > 0.5) + return(MagickFalse); + if ((p->matte != MagickFalse) && (q->matte != MagickFalse)) + { + if (fabs(p->opacity-q->opacity) > 0.5) + return(MagickFalse); + if (fabs(p->opacity-TransparentOpacity) <= 0.5) + return(MagickTrue); + } + if (fabs(p->red-q->red) > 0.5) + return(MagickFalse); + if (fabs(p->green-q->green) > 0.5) + return(MagickFalse); + if (fabs(p->blue-q->blue) > 0.5) + return(MagickFalse); + if ((p->colorspace == CMYKColorspace) && (fabs(p->index-q->index) > 0.5)) + return(MagickFalse); +#endif return(MagickTrue); }