←Select platform

BeginUpdate Method

Summary

Prevents the control from drawing until the EndUpdate method is called.

Syntax

C#
VB
C++
public virtual void BeginUpdate() 
  
Public Overridable Sub BeginUpdate()  
public: 
virtual void BeginUpdate();  

Remarks

When you want to disable repainting of the viewer, call BeginUpdate. When you are ready to resume painting call EndUpdate.

Example

This sample zooms out on the image, keeping it centered. The resulting transform is displayed in the console.

C#
VB
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); 
} 
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 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.WinForms Assembly