]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 31 Jan 2012 20:14:01 +0000 (20:14 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 31 Jan 2012 20:14:01 +0000 (20:14 +0000)
Magick++/lib/Image.cpp
Magick++/lib/Magick++/Image.h
Magick++/lib/Magick++/Include.h
Magick++/lib/Magick++/STL.h

index 8fdb1391a48609fe00935986b5ee5f02fbdf144c..6312e745d0cbf2e23aea71521a9845b1599d80ca 100644 (file)
@@ -1954,6 +1954,19 @@ void Magick::Image::shade ( const double azimuth_,
   (void) DestroyExceptionInfo( &exceptionInfo );
 }
 
+// Charcoal-effect image
+void Magick::Image::shadow( const double percent_opacity_, const double sigma_,
+  const ssize_t x_, const ssize_t y_ )
+{
+  ExceptionInfo exceptionInfo;
+  GetExceptionInfo( &exceptionInfo );
+  MagickCore::Image* newImage = ShadowImage( image(), percent_opacity_, sigma_,
+    image()->bias, x_, y_, &exceptionInfo );
+  replaceImage( newImage );
+  throwException( exceptionInfo );
+  (void) DestroyExceptionInfo( &exceptionInfo );
+}
+
 // Sharpen pixels in image
 void Magick::Image::sharpen ( const double radius_, const double sigma_ )
 {
index 72ab3680f236b7b6e86ec27cfce74aef1f712c1f..7b90864a435947d3c1c8a349d7fecc588923b82b 100644 (file)
@@ -607,6 +607,12 @@ namespace Magick
           const double elevation_ = 30,
           const bool   colorShading_ = false );
     
+    // simulate an image shadow
+    void            shadow ( const double radius_ = 0.0,
+                             const double sigma_ = 1.0,
+                             const ssize_t x_ = 0,
+                             const ssize_t y_ = 0 );
+
     // Sharpen pixels in image
     // The radius_ parameter specifies the radius of the Gaussian, in
     // pixels, not counting the center pixel.  The sigma_ parameter
index 6e0e681bfabb438ac2d3002d052cfebd142dff47..932154af23ac2cd5e1c0502bc7ac01800496f869 100644 (file)
@@ -893,6 +893,7 @@ namespace Magick
   using MagickCore::SetPixelChannelMask;
   using MagickCore::SetStringInfoDatum;
   using MagickCore::ShadeImage;
+  using MagickCore::ShadowImage;
   using MagickCore::SharpenImage;
   using MagickCore::SharpenImage;
   using MagickCore::ShaveImage;
index f7a71f54aa425c8e0bb0ab2ff812e23d83710e9b..3cb6e94cd5c209284bb96a7c67af89fc3fe43373 100644 (file)
@@ -960,6 +960,22 @@ namespace Magick
     bool    _colorShading;
   };
 
+  // Shadow effect image (simulate an image shadow)
+  class MagickPPExport shadowImage : public std::unary_function<Image&,void>
+  {
+  public:
+    shadowImage( const double percent_opacity_ = 80, const double sigma_ = 0.5,
+      const ssize_t x_ = 5, const ssize_t y_ = 5 );
+
+    void operator()( Image &image_ ) const;
+
+  private:
+    double _percent_opacity;
+    double _sigma;
+    ssize_t _x;
+    ssize_t _y;
+  };
+
   // Sharpen pixels in image
   class MagickPPExport sharpenImage : public std::unary_function<Image&,void>
   {