Leadtools.WinForms Namespace > RasterImageViewer Class : BeginUpdate Method |
public virtual void BeginUpdate()
'Declaration Public Overridable Sub BeginUpdate()
'Usage Dim instance As RasterImageViewer instance.BeginUpdate()
public virtual void BeginUpdate()
function Leadtools.WinForms.RasterImageViewer.BeginUpdate()
public: virtual void BeginUpdate();
''' ' center the loaded image in the middle of rasterImageViewer if the image smaller than the viewer size Private Sub centerImage(ByVal viewer As RasterImageViewer) ' do center only when RasterViewerSizeMode == Normal If viewer.SizeMode = RasterPaintSizeMode.Normal Then If viewer.IsImageAvailable = True Then If Not viewer.Image Is Nothing Then Dim viewerWidth As Integer = viewer.Right - viewer.Left Dim viewerHeight As Integer = viewer.Bottom - viewer.Top Dim imageWidth As Integer = CInt(viewer.LogicalViewRectangle.Width * viewer.ScaleFactor) Dim imageHeight As Integer = CInt(viewer.LogicalViewRectangle.Height * viewer.ScaleFactor) If imageWidth < viewerWidth Then viewer.BorderPadding.Left = (viewerWidth - imageWidth) \ 2 Else viewer.BorderPadding.Left = 0 End If If imageHeight < viewerHeight Then viewer.BorderPadding.Top = (viewerHeight - imageHeight) \ 2 Else viewer.BorderPadding.Top = 0 End If End If End If End If End Sub Private Sub viewer_TransformedChanged(ByVal sender As Object, ByVal e As EventArgs) Dim viewer As RasterImageViewer = CType(IIf(TypeOf sender Is RasterImageViewer, sender, Nothing), RasterImageViewer) Dim s As String = String.Format("Transform: {0} {1} {2} {3} {4} {5}", viewer.Transform.Elements(0), viewer.Transform.Elements(1), _ viewer.Transform.Elements(2), viewer.Transform.Elements(3), viewer.Transform.Elements(4), _ viewer.Transform.Elements(5)) Console.WriteLine(s) End Sub Public Sub RasterImageViewer_BeginUpdate(ByVal viewer As RasterImageViewer) AddHandler viewer.TransformChanged, AddressOf viewer_TransformedChanged viewer.BeginUpdate() ' suspend painting of the image viewer.ScaleFactor = viewer.ScaleFactor * 0.9F centerImage(viewer) viewer.EndUpdate() ' start painting of the image RemoveHandler viewer.TransformChanged, AddressOf viewer_TransformedChanged End Sub
/// // center the loaded image in the middle of rasterImageViewer if the image smaller than the viewer size private void centerImage(RasterImageViewer viewer) { // do center only when RasterViewerSizeMode == Normal if (viewer.SizeMode == RasterPaintSizeMode.Normal) { if (viewer.IsImageAvailable == true) { if (viewer.Image != null) { int viewerWidth = viewer.Right - viewer.Left; int viewerHeight = viewer.Bottom - viewer.Top; int imageWidth = (int)(viewer.LogicalViewRectangle.Width * viewer.ScaleFactor); int imageHeight = (int)(viewer.LogicalViewRectangle.Height * viewer.ScaleFactor); if (imageWidth < viewerWidth) viewer.BorderPadding.Left = (viewerWidth - imageWidth) / 2; else viewer.BorderPadding.Left = 0; if (imageHeight < viewerHeight) viewer.BorderPadding.Top = (viewerHeight - imageHeight) / 2; else viewer.BorderPadding.Top = 0; } } } } private void viewer_TransformedChanged(object sender, EventArgs e) { RasterImageViewer viewer = sender as RasterImageViewer; string s = string.Format("Transform: {0} {1} {2} {3} {4} {5}", viewer.Transform.Elements[0], viewer.Transform.Elements[1], viewer.Transform.Elements[2], viewer.Transform.Elements[3], viewer.Transform.Elements[4], viewer.Transform.Elements[5]); Console.WriteLine(s); } public void RasterImageViewer_BeginUpdate(RasterImageViewer viewer) { viewer.TransformChanged += new EventHandler(viewer_TransformedChanged); viewer.BeginUpdate(); // suspend painting of the image viewer.ScaleFactor = viewer.ScaleFactor * 0.9F; centerImage(viewer); viewer.EndUpdate(); // start painting of the image viewer.TransformChanged -= new EventHandler(viewer_TransformedChanged); }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2