LEADTOOLS Windows Forms (Leadtools.WinForms assembly)
LEAD Technologies, Inc

BeginUpdate Method (RasterImageViewer)

Example 





Prevents the control from drawing until the EndUpdate method is called.
Syntax
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(); 
Remarks
When you want to disable repainting of the viewer, call BeginUpdate.
When you are ready to resume painting call EndUpdate.
Example
 
''' 
' 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);
}
Requirements

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

See Also

Reference

RasterImageViewer Class
RasterImageViewer Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.