LEADTOOLS (Leadtools assembly)

Transform Method (RasterRegion)

Show in webframe
Example 







The RasterRegionXForm by which to transform this region
Transforms this RasterRegion by the specified RasterRegionXForm.
Syntax
public void Transform( 
   RasterRegionXForm xform
)
'Declaration
 
Public Sub Transform( _
   ByVal xform As RasterRegionXForm _
) 
'Usage
 
Dim instance As RasterRegion
Dim xform As RasterRegionXForm
 
instance.Transform(xform)
public void Transform( 
   RasterRegionXForm xform
)
-(BOOL)transform:(LTRasterRegionXForm*)xform 
           error:(NSError**)outError;
            
public void transform(
  RasterRegionXForm xform
)
            
 function Leadtools.RasterRegion.Transform( 
   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
Copy Code  
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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
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);
      }
   }
}
RasterRegionExamples.prototype.RasterRegionTransformExample = function () {
    Tools.SetLicense();
    with (Leadtools) {
        with (Leadtools.Codecs) {
            var codecs = new RasterCodecs();

            var srcFileName = "Assets\\Image1.cmp";
            var destFileName = "Image1_TransformRegion.bmp";
            var image;

            // Load the source image
            return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                return codecs.loadAsync(LeadStreamFactory.create(loadFile), 0, CodecsLoadByteOrder.bgr, 1, 1)
            })
                .then(function (img) {
                    image = img;
                    // Add a large elliptical region 
                    image.addEllipseToRegion(null, LeadRectHelper.create(0, 0, image.imageWidth, image.imageHeight), RasterRegionCombineMode.set);

                    // Fill the image with yellow
                    var cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.yellow));
                    cmd.run(image);

                    // Get the region
                    var region = image.getRegion(null)

                    // Transform this region by making it twice as small
                    var bounds = region.getBounds();

                    var 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);
                    region.close();

                    // Now fill with red and save
                    cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.red));
                    cmd.run(image);

                    return Tools.AppLocalFolder().createFileAsync(destFileName)
                })
                .then(function (saveFile) {
                    var saveStream = LeadStreamFactory.create(saveFile);
                    return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24)
                })
                .then(function () {

                    image.close();
                    codecs.close();
                });
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task RasterRegionTransformExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = "Image1_TransformRegion.bmp";

   // Load the source image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 0, CodecsLoadByteOrder.Bgr, 1, 1))
   {
      // Add a large elliptical region 
      image.AddEllipseToRegion(null, LeadRectHelper.Create(0, 0, image.ImageWidth, image.ImageHeight), RasterRegionCombineMode.Set);

      // Fill the image with yellow
      FillCommand cmd = new FillCommand(RasterColorHelper.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(RasterColorHelper.FromKnownColor(RasterKnownColor.Red));
      cmd.Run(image);

      StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
      ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
      await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24);
   }

   codecs.Dispose();
}
Requirements

Target Platforms

See Also

Reference

RasterRegion Class
RasterRegion Members

 

 


Products | Support | Contact Us | Copyright Notices

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