Centers the image display at the specified point.
            
            
            
            
Syntax
| Visual Basic (Declaration) |   | 
|---|
Public Overridable Sub CenterAtPoint( _
   ByVal pt As Point _
)   | 
 
| C# |   | 
|---|
public virtual void CenterAtPoint( 
   Point pt
)  | 
 
| C++/CLI |   | 
|---|
public:
virtual void CenterAtPoint( 
   Point pt
)   | 
 
            Parameters
- pt
 
- The point at which to center the image display, in client coordinates.
 
            
             
            
            
            
            
Example
This example shows a method to change the viewer scale factor (zoom) while 
            keeping the viewer centered.
             | Visual Basic |  Copy Code | 
|---|
Sub ZoomAndCenter(ByVal viewer As RasterImageViewer, ByVal scaleFactor As Double) 
     
    Const minimumScaleFactor As Double = 0.05 
    Const maximumScaleFactor As Double = 11 
     
    scaleFactor = Math.Max(minimumScaleFactor, Math.Min(maximumScaleFactor, scaleFactor)) 
 
     
    If (viewer.ScaleFactor <> scaleFactor) Then 
         
         
 
         
        Dim rc As Rectangle = Rectangle.Intersect(viewer.PhysicalViewRectangle, viewer.ClientRectangle) 
         
        Dim center As New PointF(rc.Left + rc.Width \ 2, rc.Top + rc.Height \ 2) 
        Dim t As New Transformer(viewer.Transform) 
         
        center = t.PointToLogical(center) 
 
         
        viewer.ScaleFactor = scaleFactor 
 
         
 
        t = New Transformer(viewer.Transform) 
         
        center = t.PointToPhysical(center) 
         
        viewer.CenterAtPoint(Point.Round(center)) 
    End If 
End Sub | 
 
| C# |  Copy Code | 
|---|
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: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
 
            
            
See Also