LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
Transform Method
See Also 
Leadtools Namespace > RasterRegion Class : Transform Method



xform
The RasterRegionXForm by which to transform this region
xform
The RasterRegionXForm by which to transform this region
Transforms this RasterRegion by the specified RasterRegionXForm. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public Sub Transform( _
   ByVal xform As RasterRegionXForm _
) 
Visual Basic (Usage)Copy Code
Dim instance As RasterRegion
Dim xform As RasterRegionXForm
 
instance.Transform(xform)
C# 
public void Transform( 
   RasterRegionXForm xform
)
C++/CLI 
public:
void Transform( 
   RasterRegionXForm^ xform
) 

Parameters

xform
The RasterRegionXForm by which to transform this region

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.

Visual BasicCopy Code
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
C#Copy Code
public void RasterRegionTransformExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_TransformRegion.bmp");

      // 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);
      }

      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

Remarks

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

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7

See Also