]> granicus.if.org Git - imagemagick/commitdiff
Moved detection of type to a separate method in Magick++. The type() method no longer...
authordirk <dirk@git.imagemagick.org>
Mon, 28 Apr 2014 18:25:12 +0000 (18:25 +0000)
committerdirk <dirk@git.imagemagick.org>
Mon, 28 Apr 2014 18:25:12 +0000 (18:25 +0000)
Magick++/lib/Image.cpp
Magick++/lib/Magick++/Image.h

index e1cf8ce525f72ee61cde27ebb6c2f48badb8b29f..c3b828cef866a52d01fc1ec9bb74f560f3e010f4 100644 (file)
@@ -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;
index 33e6874bbef86e07bb563c0a108f3f6f7bd711c1..8909d9680caac9dfd3d74bfb9ba182b4dbc8c251 100644 (file)
@@ -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);