return(constImage()->iterations);
}
-void Magick::Image::attenuate(const double attenuate_)
-{
- char
- value[MagickPathExtent];
-
- modifyImage();
- FormatLocaleString(value,MagickPathExtent,"%.20g",attenuate_);
- (void) SetImageArtifact(image(),"attenuate",value);
-}
-
void Magick::Image::backgroundColor(const Color &backgroundColor_)
{
modifyImage();
ThrowImageException;
}
-void Magick::Image::addNoise(const NoiseType noiseType_)
+void Magick::Image::addNoise(const NoiseType noiseType_,const double attenuate_)
{
MagickCore::Image
*newImage;
GetPPException;
- newImage=AddNoiseImage(constImage(),noiseType_,1.0,exceptionInfo);
+ newImage=AddNoiseImage(constImage(),noiseType_,attenuate_,exceptionInfo);
replaceImage(newImage);
ThrowImageException;
}
void Magick::Image::addNoiseChannel(const ChannelType channel_,
- const NoiseType noiseType_)
+ const NoiseType noiseType_,const double attenuate_)
{
MagickCore::Image
*newImage;
GetPPException;
GetAndSetPPChannelMask(channel_);
- newImage=AddNoiseImage(constImage(),noiseType_,1.0,exceptionInfo);
+ newImage=AddNoiseImage(constImage(),noiseType_,attenuate_,exceptionInfo);
RestorePPChannelMask;
replaceImage(newImage);
ThrowImageException;
void animationDelay(const size_t delay_);
size_t animationDelay(void) const;
- // Lessen (or intensify) when adding noise to an image.
- void attenuate(const double attenuate_);
-
// Number of iterations to loop an animation (e.g. Netscape loop
// extension) for.
void animationIterations(const size_t iterations_);
const double bias_=0.0);
// Add noise to image with specified noise type
- void addNoise(const NoiseType noiseType_);
+ void addNoise(const NoiseType noiseType_,const double attenuate_=1.0);
void addNoiseChannel(const ChannelType channel_,
- const NoiseType noiseType_);
+ const NoiseType noiseType_,const double attenuate_=1.0);
// Transform image by specified affine (or free transform) matrix.
void affineTransform(const DrawableAffine &affine);
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
-// Copyright Dirk Lemstra 2013-2016
+// Copyright Dirk Lemstra 2013-2017
//
// Definition and implementation of template functions for using
// Magick::Image with STL containers.
class MagickPPExport addNoiseImage
{
public:
- addNoiseImage ( NoiseType noiseType_ );
+ addNoiseImage(const NoiseType noiseType_,const double attenuate_);
- void operator()( Image &image_ ) const;
+ void operator()(Image &image_) const;
private:
NoiseType _noiseType;
+ double _attenuate;
};
// Transform image by specified affine (or free transform) matrix.
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2002
-// Copyright Dirk Lemstra 2013-2016
+// Copyright Dirk Lemstra 2013-2017
//
// Implementation of STL classes and functions
//
}
// Add noise to image with specified noise type
-Magick::addNoiseImage::addNoiseImage( Magick::NoiseType noiseType_ )
- : _noiseType( noiseType_ )
+Magick::addNoiseImage::addNoiseImage(const Magick::NoiseType noiseType_,
+ const double attenuate_)
+ : _noiseType(noiseType_),
+ _attenuate(attenuate_)
{
}
-void Magick::addNoiseImage::operator()( Magick::Image &image_ ) const
+
+void Magick::addNoiseImage::operator()(Magick::Image &image_) const
{
- image_.addNoise( _noiseType );
+ image_.addNoise(_noiseType,_attenuate);
}
// Transform image by specified affine (or free transform) matrix.