Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.4.3
|
Leadtools.Controls Assembly > Leadtools.Controls Namespace > ImageViewerItem Class : FloaterTransform Property |
public LeadMatrix FloaterTransform {get; set;}
'Declaration
Public Property FloaterTransform As LeadMatrix
Use this transform to translate, scale or rotate the floater image. ImageViewerFloaterInteractiveMode will update this value when the user clicks and drags on the floater image.
Changing the value of this property will fire the ItemChanged event with ImageViewerItemChangedReason.FloaterTransform.
Imports Leadtools Imports Leadtools.Controls Imports Leadtools.Codecs Imports Leadtools.Drawing Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Color Dim item As ImageViewerItem = _imageViewer.Items(0) If item Is Nothing Then Return End If If item.Floater Is Nothing Then Dim xForm As RasterRegionXForm = RasterRegionXForm.Default Using image As RasterImage = item.Image.Clone() Dim width As Integer = image.ImageWidth \ 2 Dim height As Integer = image.ImageHeight \ 2 image.AddRectangleToRegion(xForm, New LeadRect(width, height, width, height), RasterRegionCombineMode.Set) xForm = RasterRegionXForm.Default xForm.ViewPerspective = RasterViewPerspective.TopLeft Dim rc As LeadRect = image.GetRegionBounds(xForm) Dim command As New CopyRectangleCommand(rc, RasterMemoryFlags.Conventional) command.Run(image) Dim floater As RasterImage = command.DestinationImage rc = image.RectangleFromImage(RasterViewPerspective.TopLeft, rc) If Not floater Is Nothing Then xForm.ViewPerspective = RasterViewPerspective.TopLeft Dim regionData As System.Drawing.Drawing2D.RegionData = RasterRegionConverter.GetGdiPlusRegionData(image, xForm) xForm.ViewPerspective = RasterViewPerspective.TopLeft xForm.XOffset -= rc.Left xForm.YOffset -= rc.Top End If floater.MakeRegionEmpty() Dim transform As LeadMatrix = item.FloaterTransform transform.Translate(-floater.ImageWidth, -floater.ImageHeight) item.FloaterTransform = transform item.Floater = floater End Using Else Dim floater As RasterImage = item.Floater Dim transform As LeadMatrix = item.FloaterTransform transform.Translate(-1, -1) item.FloaterTransform = transform End If
using Leadtools; using Leadtools.Controls; using Leadtools.Codecs; using Leadtools.Drawing; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; var item = _imageViewer.Items[0]; if (item == null) return; if (item.Floater == null) { var xForm = RasterRegionXForm.Default; using (var image = item.Image.Clone()) { var width = image.ImageWidth / 2; var height = image.ImageHeight / 2; image.AddRectangleToRegion(xForm, new LeadRect(width, height, width, height), RasterRegionCombineMode.Set); xForm = RasterRegionXForm.Default; xForm.ViewPerspective = RasterViewPerspective.TopLeft; var rc = image.GetRegionBounds(xForm); var command = new CopyRectangleCommand(rc, RasterMemoryFlags.Conventional); command.Run(image); var floater = command.DestinationImage; rc = image.RectangleFromImage(RasterViewPerspective.TopLeft, rc); if (floater != null) { xForm.ViewPerspective = RasterViewPerspective.TopLeft; var regionData = RasterRegionConverter.GetGdiPlusRegionData(image, xForm); xForm.ViewPerspective = RasterViewPerspective.TopLeft; xForm.XOffset -= rc.Left; xForm.YOffset -= rc.Top; } floater.MakeRegionEmpty(); var transform = item.FloaterTransform; transform.Translate(-floater.ImageWidth, -floater.ImageHeight); item.FloaterTransform = transform; item.Floater = floater; } } else { var floater = item.Floater; var transform = item.FloaterTransform; transform.Translate(-1, -1); item.FloaterTransform = transform; }