Centers the image display at the specified point.
public virtual void CenterAtPoint(
Point pt
)
Public Overridable Sub CenterAtPoint( _
ByVal pt As Point _
)
public:
virtual void CenterAtPoint(
Point pt
)
pt
The point at which to center the image display, in client coordinates.
The control will position the scrollbars according to user cursor moves, therefore, this method is only functional if the control has visible scrollbars (SizeMode is SizeMode.Normal or SizeMode.FitWidth and the view port is less than the image size).
The control will call this method during InteractiveMode.Pan.
This example shows a method to change the viewer scale factor (zoom) while keeping the viewer centered.
Imports Leadtools.Windows.Controls
Private Sub ZoomAndCenter(ByVal viewer As ImageViewer, 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 Rect = Rect.Intersect(New Rect(0, 0, viewer.ActualWidth, viewer.ActualHeight), New Rect(viewer.PhysicalSize))
' Get the center of what you see in physical coordinates
Dim center As Point = New Point(rc.Left + rc.Width / 2 * scaleFactor, rc.Top + rc.Height / 2 * scaleFactor)
' Set the new scale factor
viewer.ScaleFactor = scaleFactor
' Bring the old center into the center of the view
viewer.CenterAtPoint(center)
End If
End Sub
using Leadtools.Help;
using Leadtools.Windows.Controls;
void ZoomAndCenter(ImageViewer 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
Rect rc = Rect.Intersect(new Rect(0, 0, viewer.ActualWidth, viewer.ActualHeight), new Rect(viewer.PhysicalSize));
// Get the center of what you see in physical coordinates
Point center = new Point(rc.Left + rc.Width / 2 * scaleFactor, rc.Top + rc.Height / 2 * scaleFactor);
// Set the new scale factor
viewer.ScaleFactor = scaleFactor;
// Bring the old center into the center of the view
viewer.CenterAtPoint(center);
}
}
using Leadtools.Help;
using Leadtools.Windows.Controls;
void ZoomAndCenter(ImageViewer 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
LeadRect rc = LeadRect.Intersect(new LeadRect(0, 0, (int)viewer.ActualWidth, (int)viewer.ActualHeight), new LeadRect(0, 0, (int)viewer.PhysicalSize.Width, (int)viewer.PhysicalSize.Height));
// Get the center of what you see in physical coordinates
Point center = new Point(rc.Left + rc.Width / 2 * scaleFactor, rc.Top + rc.Height / 2 * scaleFactor);
// Set the new scale factor
viewer.ScaleFactor = scaleFactor;
// Bring the old center into the center of the view
viewer.CenterAtPoint(center);
}
}
Imports Leadtools
Imports Leadtools.Windows.Controls
Private Sub ZoomAndCenter(ByVal viewer As ImageViewer, 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 LeadRect = LeadRect.Intersect(New LeadRect(0, 0, CInt(viewer.ActualWidth), CInt(viewer.ActualHeight)), New LeadRect(0, 0, CInt(viewer.PhysicalSize.Width), CInt(viewer.PhysicalSize.Height)))
' Get the center of what you see in physical coordinates
Dim center As Point = New Point(rc.Left + rc.Width / 2 * scaleFactor, rc.Top + rc.Height / 2 * scaleFactor)
' Set the new scale factor
viewer.ScaleFactor = scaleFactor
' Bring the old center into the center of the view
viewer.CenterAtPoint(center)
End If
End Sub
Products |
Support |
Feedback: CenterAtPoint Method - Leadtools.Windows.Controls |
Introduction |
Help Version 19.0.2017.3.22
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.