From: dirk Date: Thu, 21 Aug 2014 17:34:02 +0000 (+0000) Subject: Fixed setting alpha_trait in the Color class of Magick++. X-Git-Tag: 7.0.1-0~2085 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a708e5add2faa71c9dab5788a576753a5d3c657a;p=imagemagick Fixed setting alpha_trait in the Color class of Magick++. Removed obsolete xNegative/yNegative from Geometry constructor. --- diff --git a/Magick++/lib/Color.cpp b/Magick++/lib/Color.cpp index 6b11ddc95..9df2b1119 100644 --- a/Magick++/lib/Color.cpp +++ b/Magick++/lib/Color.cpp @@ -238,6 +238,7 @@ Magick::Color::operator std::string() const pixel.green=_pixel->green; pixel.blue=_pixel->blue; pixel.alpha=_pixel->alpha; + pixel.alpha_trait=_pixel->alpha_trait; GetColorTuple(&pixel,MagickTrue,colorbuf); return(std::string(colorbuf)); @@ -277,7 +278,11 @@ void Magick::Color::isValid(bool valid_) void Magick::Color::quantumAlpha(const Magick::Quantum alpha_) { _pixel->alpha=alpha_; - _isValid=true ; + if (alpha_ == QuantumRange) + _pixel->alpha_trait=UndefinedPixelTrait; + else + _pixel->alpha_trait=BlendPixelTrait; + _isValid=true; } Magick::Quantum Magick::Color::quantumAlpha(void) const @@ -353,7 +358,7 @@ void Magick::Color::initPixel() _pixel->red=0; _pixel->green=0; _pixel->blue=0; - _pixel->alpha=TransparentAlpha; + _pixel->alpha=OpaqueAlpha; } Magick::ColorGray::ColorGray(void) diff --git a/Magick++/lib/Geometry.cpp b/Magick++/lib/Geometry.cpp index 1797621d5..966b62fdc 100644 --- a/Magick++/lib/Geometry.cpp +++ b/Magick++/lib/Geometry.cpp @@ -129,7 +129,7 @@ Magick::Geometry::Geometry(const std::string &geometry_) } Magick::Geometry::Geometry(size_t width_,size_t height_,ssize_t xOff_, - ssize_t yOff_,bool xNegative_,bool yNegative_) + ssize_t yOff_) : _width(width_), _height(height_), _xOff(xOff_), diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 8ffb4decb..6873b57ac 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -1253,9 +1253,7 @@ void Magick::Image::page(const Magick::Geometry &pageSize_) Magick::Geometry Magick::Image::page(void) const { return(Geometry(constImage()->page.width,constImage()->page.height, - AbsoluteValue(constImage()->page.x),AbsoluteValue(constImage()->page.y), - constImage()->page.x < 0 ? true : false, - constImage()->page.y < 0 ? true : false)); + AbsoluteValue(constImage()->page.x),AbsoluteValue(constImage()->page.y))); } void Magick::Image::quality(const size_t quality_) diff --git a/Magick++/lib/Magick++/Geometry.h b/Magick++/lib/Magick++/Geometry.h index 55175b709..39bf097a1 100644 --- a/Magick++/lib/Magick++/Geometry.h +++ b/Magick++/lib/Magick++/Geometry.h @@ -49,7 +49,7 @@ namespace Magick // Construct Geometry from specified dimensions Geometry(size_t width_,size_t height_,::ssize_t xOff_=0, - ::ssize_t yOff_=0,bool xNegative_=false,bool yNegative_=false); + ::ssize_t yOff_=0); // Destructor ~Geometry(void);