←Select platform

BorderBackPen Property

Summary

Spy glass border back pen.

Syntax
C#
C++/CLI
public virtual Pen BorderBackPen { get; set; } 
public:  
   virtual property System::Drawing::Pen^ BorderBackPen 
   { 
      System::Drawing::Pen^ get() 
      void set(System::Drawing::Pen^ value) 
   } 

Property Value

The spy glass border back pen. Default value is null.

Remarks

Set the value of BorderPen and BorderBackPen to null to stop the control from outlining the spy glass.

The control will first use the value of BorderBackPen (if not null) to render the outline and then the value of BorderPen (if not null) to re-render the outline on top of it. Hence, setting both values to a pen with the same width and same dash options is not useful. However, setting the border back pen to a solid color pen and the border pen to a dashed or dotted pen will guarantee that the outline is visible on any surface.

Example
C#
using Leadtools; 
using Leadtools.Controls; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
 
public ImageViewerForm _form = new ImageViewerForm(); 
public ImageViewer _imageViewer; 
 
public void ImageViewerSpyGlassInteractiveModeExample() 
{ 
   // Get the ImageViewer control from the form 
   _imageViewer = _form.ImageViewer; 
 
   // Load an image 
   using (var codecs = new RasterCodecs()) 
      _imageViewer.Image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp")); 
 
   // Create the spyglass interactive mode 
   ImageViewerSpyGlassInteractiveMode spyGlass = new ImageViewerSpyGlassInteractiveMode(); 
   spyGlass.AutoItemMode = ImageViewerAutoItemMode.AutoSet; 
   spyGlass.BackgroundBrush = new SolidBrush(Color.FromArgb(128, Color.Yellow)); 
   spyGlass.BorderBackPen = new Pen(Color.Red); 
   spyGlass.BorderPen = new Pen(Color.Blue) { DashPattern = new float[] { 4.0F, 2.0F, 1.0F, 3.0F }}; 
   spyGlass.Crosshair = ImageViewerSpyGlassCrosshair.Fine; 
   spyGlass.CrosshairPen = new Pen(Color.Green); 
   spyGlass.EnsureVisible = false; 
   spyGlass.Offset = new LeadPoint(0, 0); 
   spyGlass.HideCursorWhileWorking = true; 
   spyGlass.IdleCursor = Cursors.Cross; 
   spyGlass.RoundRectangleRadius = new LeadSize(25, 25); 
   spyGlass.Shape = ImageViewerSpyGlassShape.RoundRectangle; 
   spyGlass.Size = new LeadSize(200, 200); 
 
   // Get inverted copy of the RasterImage in the Viewer control 
   RasterImage invertedRasterImage = _imageViewer.Image.Clone(); 
   InvertCommand invertCommand = new InvertCommand(); 
   invertCommand.Run(invertedRasterImage); 
 
   // Overlay the inverted image on the spy glass 
   spyGlass.DrawImage += (object sender, ImageViewerSpyGlassDrawImageEventArgs e) => 
   { 
      Image img = RasterImageConverter.ChangeToImage(invertedRasterImage, new ChangeToImageOptions()); 
      e.Context.DrawImage(img, Point.Empty); 
      _form.Text = 
      $"Destination Rectangle: (" + 
      $"{e.DestinationRectangle.X}, {e.DestinationRectangle.Y}, {e.DestinationRectangle.Width}, {e.DestinationRectangle.Height}), " + 
      $"Offset: {e.Offset.X}, {e.Offset.Y}"; 
   }; 
 
   // Add spyglass interactive mode 
   _imageViewer.InteractiveModes.BeginUpdate(); 
   _imageViewer.InteractiveModes.Add(spyGlass); 
   _imageViewer.InteractiveModes.EndUpdate(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Controls Assembly

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