public class MagnifyGlassEffect : ShaderEffect Public Class MagnifyGlassEffectInherits System.Windows.Media.Effects.ShaderEffectImplements System.Windows.Media.Animation.IAnimatable
public ref class MagnifyGlassEffect : public System.Windows.Media.Effects.ShaderEffect, System.Windows.Media.Animation.IAnimatable using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.Windows.Controls;using Leadtools.Windows.Media;using Leadtools.Windows.Media.Effects;class MagnifyGlassEffectExampleWindow : Window{private ImageViewer theViewer;public MagnifyGlassEffectExampleWindow(){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 viewertheViewer.Source = new BitmapImage(new Uri(System.IO.Path.Combine(LEAD_VARS.ImagesDir, "Cannon.jpg")));Title = "MagnifyGlassEffect - 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){MagnifyGlassEffect effect = new MagnifyGlassEffect();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.ScaleFactor = 2.0;effect.Color = Colors.Blue;effect.Border = 1;effect.CrossHairs = 1;theViewer.ImageEffect = effect;}}private void theViewer_MouseMove(object sender, MouseEventArgs e){MagnifyGlassEffect effect = theViewer.ImageEffect as MagnifyGlassEffect;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:\LEADTOOLS21\Resources\Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.Windows.ControlsImports Leadtools.Windows.MediaImports Leadtools.Windows.Media.EffectsClass MagnifyGlassEffectExampleWindowInherits WindowPrivate theViewer As ImageViewerPublic Sub New()Dim sp As New StackPanel()Content = sptheViewer = New ImageViewer()theViewer.HorizontalAlignment = HorizontalAlignment.CentertheViewer.VerticalAlignment = VerticalAlignment.ToptheViewer.ImageHorizontalAlignment = HorizontalAlignment.LefttheViewer.ImageVerticalAlignment = VerticalAlignment.Topsp.Children.Add(theViewer)' Load an image into the viewertheViewer.Source = New BitmapImage(New Uri(System.IO.Path.Combine(LEAD_VARS.ImagesDir, "Cannon.jpg")))Title = "MagnifyGlassEffect - Click and and move the mouse cursor on the image to see the effect"AddHandler theViewer.PreviewMouseDown, AddressOf theViewer_PreviewMouseDownAddHandler theViewer.MouseMove, AddressOf theViewer_MouseMoveAddHandler theViewer.MouseUp, AddressOf theViewer_MouseUpEnd SubPrivate Sub theViewer_PreviewMouseDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)Dim effect As New MagnifyGlassEffect()Dim pos As Point = e.GetPosition(theViewer)Dim source As BitmapSource = DirectCast(theViewer.Source, BitmapSource)If Not source Is Nothing Theneffect.Center = New Point((1.0 * pos.X) / source.PixelWidth,(1.0 * pos.Y) / source.PixelHeight)effect.Radius = 0.25effect.AspectRatio = 1.0effect.ScaleFactor = 2.0effect.Color = Colors.Blueeffect.Border = 1effect.CrossHairs = 1theViewer.ImageEffect = effectEnd IfEnd SubPrivate Sub theViewer_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)Dim effect As MagnifyGlassEffect = DirectCast(theViewer.ImageEffect, MagnifyGlassEffect)If Not effect Is Nothing ThenDim pos As Point = e.GetPosition(theViewer)Dim source As BitmapSource = DirectCast(theViewer.Source, BitmapSource)If Not source Is Nothing Theneffect.Center = New Point((1.0 * pos.X) / source.PixelWidth,(1.0 * pos.Y) / source.PixelHeight)End IfEnd IfEnd SubPrivate Sub theViewer_MouseUp(ByVal sender As Object, ByVal e As MouseButtonEventArgs)If Not theViewer.ImageEffect Is Nothing ThentheViewer.ImageEffect = NothingEnd IfEnd SubEnd ClassPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
