]> granicus.if.org Git - imagemagick/commitdiff
Added method to test if two colors are fuzzy equivalent.
authordirk <dirk@git.imagemagick.org>
Mon, 5 Oct 2015 21:45:55 +0000 (23:45 +0200)
committerdirk <dirk@git.imagemagick.org>
Mon, 5 Oct 2015 21:45:55 +0000 (23:45 +0200)
Magick++/lib/Color.cpp
Magick++/lib/Magick++/Color.h

index 173c2249957db3925ee9ad8d8178216c3beaa2b6..2976835c6bff490828d044dc5f56d3075d50f1a9 100644 (file)
@@ -265,6 +265,19 @@ Magick::Color::operator std::string() const
   return(std::string(colorbuf));
 }
 
+bool Magick::Color::isFuzzyEquivalent(const Color &color_, const double fuzz_)
+{
+  PixelInfo
+    p,
+    q;
+
+  p=*_pixel;
+  p.fuzz=fuzz_;
+  q=*color_._pixel;
+  q.fuzz=fuzz_;
+  return (IsFuzzyEquivalencePixelInfo(&p, &q) != MagickFalse);
+}
+
 bool Magick::Color::isValid(void) const
 {
   return(_isValid);
index da15262d91af29b0fc4d313ee0b80432d8eb7dd1..3738f2d62bb74fa888d1032c0a4445acd06087c1 100644 (file)
@@ -111,6 +111,10 @@ namespace Magick
     // Return color specification string
     operator std::string() const;
 
+    // Returns true if the distance between the other color is less than the
+    // specified distance in a linear three(or four) % dimensional color space.
+    bool isFuzzyEquivalent(const Color &color_,const double fuzz_);
+
     // Does object contain valid color?
     void isValid(const bool valid_);
     bool isValid(void) const;