]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 25 Sep 2009 19:20:55 +0000 (19:20 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 25 Sep 2009 19:20:55 +0000 (19:20 +0000)
ChangeLog
magick/color-private.h

index 8d02e1697a120809cece88d2b9dd27807f479a1d..5c4f52b5bccf55d1c90d231fc40c1339bbd75594 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2009-09-25  6.5.6-5 Cristy  <quetzlzacatenango@image...>
   * Support -clamp option.
+  * Patch for IsMagickColorEqual() for HDRI.
 
 2009-09-25  6.5.6-5 Elf  <elf@ephem...>
   * Patch to fix configure's framework's undefinedness (only if the gslib
index 5daeb03c44ebf07182343b051f82081bd2e05439..663bc4a8a5bc0d05ddfd5e39955c0d11b0146b40 100644 (file)
@@ -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);
 }