From: dirk Date: Mon, 5 Oct 2015 21:45:55 +0000 (+0200) Subject: Added method to test if two colors are fuzzy equivalent. X-Git-Tag: 7.0.1-0~575 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c281a65f6f114fd0cc07e88093bec3328fb491e;p=imagemagick Added method to test if two colors are fuzzy equivalent. --- diff --git a/Magick++/lib/Color.cpp b/Magick++/lib/Color.cpp index 173c22499..2976835c6 100644 --- a/Magick++/lib/Color.cpp +++ b/Magick++/lib/Color.cpp @@ -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); diff --git a/Magick++/lib/Magick++/Color.h b/Magick++/lib/Magick++/Color.h index da15262d9..3738f2d62 100644 --- a/Magick++/lib/Magick++/Color.h +++ b/Magick++/lib/Magick++/Color.h @@ -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;