Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.10
|
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();
This sample zooms out on the image, keeping it centered. The resulting transform is displayed in the console.
Imports Leadtools.WinForms Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.Color Imports Leadtools.Drawing ''' ' 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
using Leadtools.WinForms; using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.Color; using Leadtools.Drawing; /// // 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); }