CenterAtPoint Method

Summary

Centers the image display at the specified point.

Syntax

C#
C++/CLI
C++
public virtual void CenterAtPoint( 
   Point pt 
) 
public: 
virtual void CenterAtPoint(  
   Point pt 
)  
public:  
   virtual void CenterAtPoint( 
      Point^ pt 
   ) 

Parameters

pt
The point at which to center the image display, in client coordinates.

Remarks

If the value of CenterZoomAtPointScaleFactor was anything other than the default value of 1, then this method will zooms in (if the value is greater than 1) or zooms out (if the value is less than 0) the image as well around the same center point.

Example

This example shows a method to change the viewer scale factor (zoom) while keeping the viewer centered.

C#
using Leadtools.WinForms; 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Drawing; 
 
void ZoomAndCenter(RasterImageViewer viewer, double scaleFactor) 
{ 
   // Minimum and maximum scale factors allowed (change if you have to) 
   const double minimumScaleFactor = 0.05; 
   const double maximumScaleFactor = 11; 
 
   // Normalize the scale factor based on min and max 
   scaleFactor = Math.Max(minimumScaleFactor, Math.Min(maximumScaleFactor, scaleFactor)); 
 
   // Check if we need to change the scale factor for the viewer 
   if (viewer.ScaleFactor != scaleFactor) 
   { 
      // Get the current center in logical units 
      // We will use this point later to re-center the viewer 
 
      // Get what you see in physical coordinates 
      Rectangle rc = Rectangle.Intersect(viewer.PhysicalViewRectangle, viewer.ClientRectangle); 
      // Get the center of what you see in physical coordinates 
      PointF center = new PointF(rc.Left + rc.Width / 2, rc.Top + rc.Height / 2); 
      Transformer t = new Transformer(viewer.Transform); 
      // Get the center of what you see in logical coordinates 
      center = t.PointToLogical(center); 
 
      // Set the new scale factor 
      viewer.ScaleFactor = scaleFactor; 
 
      // Bring the original center into the view center 
 
      t = new Transformer(viewer.Transform); 
      // Get the center of what you saw before the zoom in physical coordinates 
      center = t.PointToPhysical(center); 
      // Bring the old center into the center of the view 
      viewer.CenterAtPoint(Point.Round(center)); 
   } 
} 

Requirements

Target Platforms

See Also

Reference

RasterImageViewer Class

RasterImageViewer Members

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

Leadtools.WinForms Assembly

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