From: dirk Date: Mon, 28 Apr 2014 18:25:12 +0000 (+0000) Subject: Moved detection of type to a separate method in Magick++. The type() method no longer... X-Git-Tag: 7.0.1-0~2389 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4a07d11bbbb01375b560051558ebd6da597a15f9;p=imagemagick Moved detection of type to a separate method in Magick++. The type() method no longer modifies the type of the image. Use determineType() instead. --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index e1cf8ce52..c3b828cef 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -1555,15 +1555,12 @@ void Magick::Image::transformSkewY(const double skewy_) Magick::ImageType Magick::Image::type(void) const { - ImageType - image_type; - - GetPPException; - image_type=constOptions()->type(); - if (image_type == UndefinedType) - image_type=GetImageType(constImage(),&exceptionInfo); - ThrowPPException; - return image_type; + if (constOptions()->type() != UndefinedType) + return(constOptions()->type()); + else if (constImage()->type != UndefinedType) + return(constImage()->type); + else + return(determineType()); } void Magick::Image::type(const Magick::ImageType type_) @@ -2638,6 +2635,17 @@ void Magick::Image::despeckle(void) ThrowPPException; } +Magick::ImageType Magick::Image::determineType(void) const +{ + ImageType + image_type; + + GetPPException; + image_type=GetImageType(constImage(),&exceptionInfo); + ThrowPPException; + return(image_type); +} + void Magick::Image::display(void) { GetPPException; diff --git a/Magick++/lib/Magick++/Image.h b/Magick++/lib/Magick++/Image.h index 33e6874bb..8909d9680 100644 --- a/Magick++/lib/Magick++/Image.h +++ b/Magick++/lib/Magick++/Image.h @@ -827,6 +827,10 @@ namespace Magick // Despeckle image (reduce speckle noise) void despeckle(void); + // Determines the color type of the image. This method can be used to + // automaticly make the type GrayScale. + ImageType determineType(void) const; + // Display image on screen void display(void);