←Select platform

CircularShutterEffect Class

Summary
Creates a circular or elliptical shutter effect by using a center point, radius, aspect ratio and a color to clear the area outside the shutter.
Syntax
C#
C++
public class CircularShutterEffect : ShaderEffect 
vb[VB Syntax] 
  
Public Class CircularShutterEffect  
   Inherits System.Windows.Media.Effects.ShaderEffect 
   Implements System.Windows.Media.Animation.IAnimatable 
public ref class CircularShutterEffect : public System.Windows.Media.Effects.ShaderEffect, System.Windows.Media.Animation.IAnimatable   
Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.Windows.Controls; 
using Leadtools.Windows.Media; 
using Leadtools.Windows.Media.Effects; 
 
class CircularShutterEffectExampleWindow : Window 
{ 
   private ImageViewer theViewer; 
 
   public CircularShutterEffectExampleWindow() 
   { 
      StackPanel sp = new StackPanel(); 
      Content = sp; 
 
      theViewer = new ImageViewer(); 
 
      theViewer.HorizontalAlignment = HorizontalAlignment.Center; 
      theViewer.VerticalAlignment = VerticalAlignment.Top; 
      theViewer.ImageHorizontalAlignment = HorizontalAlignment.Left; 
      theViewer.ImageVerticalAlignment = VerticalAlignment.Top; 
 
      sp.Children.Add(theViewer); 
 
      // Load an image into the viewer 
      theViewer.Source = new BitmapImage(new Uri(System.IO.Path.Combine(LEAD_VARS.ImagesDir, "Cannon.jpg"))); 
 
      Title = "CircularShutterEffect - Click and and move the mouse cursor on the image to see the effect"; 
 
      theViewer.PreviewMouseDown += new MouseButtonEventHandler(theViewer_PreviewMouseDown); 
      theViewer.MouseMove += new MouseEventHandler(theViewer_MouseMove); 
      theViewer.MouseUp += new MouseButtonEventHandler(theViewer_MouseUp); 
   } 
 
   private void theViewer_PreviewMouseDown(object sender, MouseButtonEventArgs e) 
   { 
      CircularShutterEffect effect = new CircularShutterEffect(); 
 
      Point pos = e.GetPosition(theViewer); 
 
      BitmapSource source = theViewer.Source as BitmapSource; 
      if (source != null) 
      { 
         effect.Center = new Point( 
            (1.0 * pos.X) / source.PixelWidth, 
            (1.0 * pos.Y) / source.PixelHeight); 
 
         effect.Radius = 0.25; 
         effect.AspectRatio = 1.0; 
         effect.ClearColor = Colors.Blue; 
         theViewer.ImageEffect = effect; 
      } 
   } 
 
   private void theViewer_MouseMove(object sender, MouseEventArgs e) 
   { 
      CircularShutterEffect effect = theViewer.ImageEffect as CircularShutterEffect; 
      if (effect != null) 
      { 
         Point pos = e.GetPosition(theViewer); 
 
         BitmapSource source = theViewer.Source as BitmapSource; 
         if (source != null) 
         { 
            effect.Center = new Point( 
               (1.0 * pos.X) / source.PixelWidth, 
               (1.0 * pos.Y) / source.PixelHeight); 
         } 
      } 
   } 
 
   private void theViewer_MouseUp(object sender, MouseButtonEventArgs e) 
   { 
      if (theViewer.ImageEffect != null) 
      { 
         theViewer.ImageEffect = null; 
      } 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2022.4.4
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2022 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Windows.Media.Effects Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2022 LEAD Technologies, Inc. All Rights Reserved.