diff --git a/Magick++/lib/STL.cpp b/Magick++/lib/STL.cpp
index 7baef8e..d74b0d1 100644
--- a/Magick++/lib/STL.cpp
+++ b/Magick++/lib/STL.cpp
@@ -157,6 +157,18 @@
image_.chop( _geometry );
}
+// accepts a lightweight Color Correction Collection (CCC) file which solely
+// contains one or more color corrections and applies the correction to the
+// image.
+Magick::cdlImage::cdlImage( const std::string &cdl_ )
+ : _cdl ( cdl_ )
+{
+}
+void Magick::cdlImage::operator()( Image &image_ ) const
+{
+ image_.cdl( _cdl.c_str() );
+}
+
// Colorize image using pen color at specified percent opacity
Magick::colorizeImage::colorizeImage( const unsigned int opacityRed_,
const unsigned int opacityGreen_,
@@ -266,6 +278,34 @@
image_.despeckle( );
}
+// Distort image. distorts an image using various distortion methods, by
+// mapping color lookups of the source image to a new destination image
+// usally of the same size as the source image, unless 'bestfit' is set to
+// true.
+Magick::distortImage::distortImage( const Magick::DistortImageMethod method_,
+ const unsigned long number_arguments_,
+ const double *arguments_,
+ const bool bestfit_ )
+ : _method ( method_ ),
+ _number_arguments ( number_arguments_ ),
+ _arguments ( arguments_ ),
+ _bestfit( bestfit_ )
+{
+}
+Magick::distortImage::distortImage( const Magick::DistortImageMethod method_,
+ const unsigned long number_arguments_,
+ const double *arguments_ )
+ : _method ( method_ ),
+ _number_arguments ( number_arguments_ ),
+ _arguments ( arguments_ ),
+ _bestfit( false )
+{
+}
+void Magick::distortImage::operator()( Magick::Image &image_ ) const
+{
+ image_.distort( _method, _number_arguments, _arguments, _bestfit );
+}
+
// Draw on image
Magick::drawImage::drawImage( const Magick::Drawable &drawable_ )
: _drawableList()
@@ -520,6 +560,16 @@
image_.gaussianBlur( _width, _sigma );
}
+// Apply a color lookup table (Hald CLUT) to the image.
+Magick::haldClutImage::haldClutImage( const Image &haldClutImage_ )
+ : _haldClutImage ( haldClutImage_ )
+{
+}
+void Magick::haldClutImage::operator()( Image &image_ ) const
+{
+ image_.haldClut( _haldClutImage );
+}
+
// Implode image (special effect)
Magick::implodeImage::implodeImage( const double factor_ )
: _factor( factor_ )
@@ -734,6 +784,19 @@
image_.raise( _geometry, _raisedFlag );
}
+// Apply a color matrix to the image channels. The user supplied
+// matrix may be of order 1 to 5 (1x1 through 5x5).
+Magick::recolorImage::recolorImage( const unsigned int order_,
+ const double *color_matrix_ )
+ : _order( order_ ),
+ _color_matrix( color_matrix_ )
+{
+}
+void Magick::recolorImage::operator()( Image &image_ ) const
+{
+ image_.recolor( _order, _color_matrix );
+}
+
// Reduce noise in image using a noise peak elimination filter
Magick::reduceNoiseImage::reduceNoiseImage( void )
: _order(3)