LEADTOOLS Windows Forms (Leadtools.WinForms assembly)

CenterAtPoint Method

Show in webframe
Example 





The point at which to center the image display, in client coordinates.
Centers the image display at the specified point.
Syntax
public virtual void CenterAtPoint( 
   Point pt
)
'Declaration
 
Public Overridable Sub CenterAtPoint( _
   ByVal pt As Point _
) 
'Usage
 
Dim instance As RasterImageViewer
Dim pt As Point
 
instance.CenterAtPoint(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
Copy Code  
Imports Leadtools.WinForms
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing

Sub ZoomAndCenter(ByVal viewer As RasterImageViewer, ByVal scaleFactor As Double)
   ' Minimum and maximum scale factors allowed (change if you have to)
   Const minimumScaleFactor As Double = 0.05
   Const maximumScaleFactor As Double = 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) Then
      ' 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
      Dim rc As Rectangle = Rectangle.Intersect(viewer.PhysicalViewRectangle, viewer.ClientRectangle)
      ' Get the center of what you see in physical coordinates
      Dim center As New PointF(rc.Left + rc.Width \ 2, rc.Top + rc.Height \ 2)
      Dim t As 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))
   End If
End Sub
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

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.