C#
VB
C++
Prevents the control from drawing until the EndUpdate method is called.
public virtual void BeginUpdate() Public Overridable Sub BeginUpdate()
public:virtual void BeginUpdate();
When you want to disable repainting of the viewer, call BeginUpdate. When you are ready to resume painting call EndUpdate.
This sample zooms out on the image, keeping it centered. The resulting transform is displayed in the console.
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 sizeprivate void centerImage(RasterImageViewer viewer){// do center only when RasterViewerSizeMode == Normalif (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;elseviewer.BorderPadding.Left = 0;if (imageHeight < viewerHeight)viewer.BorderPadding.Top = (viewerHeight - imageHeight) / 2;elseviewer.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 imageviewer.ScaleFactor = viewer.ScaleFactor * 0.9F;centerImage(viewer);viewer.EndUpdate(); // start painting of the imageviewer.TransformChanged -= new EventHandler(viewer_TransformedChanged);}
Imports Leadtools.WinFormsImports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.ColorImports Leadtools.Drawing'''' center the loaded image in the middle of rasterImageViewer if the image smaller than the viewer sizePrivate Sub centerImage(ByVal viewer As RasterImageViewer)' do center only when RasterViewerSizeMode == NormalIf viewer.SizeMode = RasterPaintSizeMode.Normal ThenIf viewer.IsImageAvailable = True ThenIf Not viewer.Image Is Nothing ThenDim viewerWidth As Integer = viewer.Right - viewer.LeftDim viewerHeight As Integer = viewer.Bottom - viewer.TopDim imageWidth As Integer = CInt(viewer.LogicalViewRectangle.Width * viewer.ScaleFactor)Dim imageHeight As Integer = CInt(viewer.LogicalViewRectangle.Height * viewer.ScaleFactor)If imageWidth < viewerWidth Thenviewer.BorderPadding.Left = (viewerWidth - imageWidth) \ 2Elseviewer.BorderPadding.Left = 0End IfIf imageHeight < viewerHeight Thenviewer.BorderPadding.Top = (viewerHeight - imageHeight) \ 2Elseviewer.BorderPadding.Top = 0End IfEnd IfEnd IfEnd IfEnd SubPrivate 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 SubPublic Sub RasterImageViewer_BeginUpdate(ByVal viewer As RasterImageViewer)AddHandler viewer.TransformChanged, AddressOf viewer_TransformedChangedviewer.BeginUpdate() ' suspend painting of the imageviewer.ScaleFactor = viewer.ScaleFactor * 0.9FcenterImage(viewer)viewer.EndUpdate() ' start painting of the imageRemoveHandler viewer.TransformChanged, AddressOf viewer_TransformedChangedEnd Sub
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
