←Select platform

Transform Method

Summary

Transforms this RasterRegion by the specified RasterRegionXForm.

Syntax
C#
VB
Objective-C
C++
Java
public void Transform( 
   RasterRegionXForm xform 
) 
Public Sub Transform( _ 
   ByVal xform As RasterRegionXForm _ 
)  
- (BOOL)transform:(LTRasterRegionXForm *)xform error:(NSError **)error 
public void transform(RasterRegionXForm xform) 
public: 
void Transform(  
   RasterRegionXForm^ xform 
)  

Parameters

xform
The RasterRegionXForm by which to transform this region

Remarks

The RasterRegionXForm.ViewPerspective member of xform is ignored by this method. For more information, refer to RasterRegionXForm.

Example

This example will create a large elliptical region in an image and fill it with yellow. It will then transform this region by making it twice as small and fill the new region with red.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
public void RasterRegionTransformExample() 
{ 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_TransformRegion.bmp"); 
   using (RasterCodecs codecs = new RasterCodecs()) 
   { 
      // Load the source image 
      using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
      { 
         // Add a large elliptical region  
         image.AddEllipseToRegion(null, new LeadRect(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set); 
 
         // Fill the image with yellow 
         FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)); 
         cmd.Run(image); 
 
         // Get the region 
         using (RasterRegion region = image.GetRegion(null)) 
         { 
            // Transform this region by making it twice as small 
            LeadRect bounds = region.GetBounds(); 
 
            RasterRegionXForm xform = RasterRegionXForm.Default; 
 
            xform.XScalarNumerator = 1; 
            xform.XScalarDenominator = 2; 
            xform.YScalarNumerator = 1; 
            xform.YScalarDenominator = 2; 
 
            xform.XOffset = bounds.Width / 2; 
            xform.YOffset = bounds.Height / 2; 
 
            region.Transform(xform); 
 
            // Re-set this region into the image 
            image.SetRegion(null, region, RasterRegionCombineMode.Set); 
         } 
 
         // Now fill with red and save 
         cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red)); 
         cmd.Run(image); 
 
         codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24); 
      } 
   } 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
Public Sub RasterRegionTransformExample() 
   Dim codecs As New RasterCodecs() 
 
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") 
   Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_TransformRegion.bmp") 
 
   ' Load the source image 
   Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) 
      ' Add a large elliptical region  
      image.AddEllipseToRegion(Nothing, New LeadRect(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set) 
 
      ' Fill the image with yellow 
      Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow)) 
      cmd.Run(image) 
 
      ' Get the region 
      Using region As RasterRegion = image.GetRegion(Nothing) 
         ' Transform this region by making it twice as small 
         Dim bounds As LeadRect = region.GetBounds() 
 
         Dim xform As RasterRegionXForm = RasterRegionXForm.Default 
 
         xform.XScalarNumerator = 1 
         xform.XScalarDenominator = 2 
         xform.YScalarNumerator = 1 
         xform.YScalarDenominator = 2 
 
         xform.XOffset = bounds.Width \ 2 
         xform.YOffset = bounds.Height \ 2 
 
         region.Transform(xform) 
 
         ' Re-set this region into the image 
         image.SetRegion(Nothing, region, RasterRegionCombineMode.Set) 
      End Using 
 
      ' Now fill with red and save 
      cmd = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red)) 
      cmd.Run(image) 
 
      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24) 
   End Using 
 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly