LEADTOOLS (Leadtools assembly)

Clip Method

Show in webframe
Example 







A LeadRect that defines the clipping boundaries.
Trims this RasterRegion to fit inside a specified LeadRect.
Syntax
public void Clip( 
   LeadRect rect
)
'Declaration
 
Public Sub Clip( _
   ByVal rect As LeadRect _
) 
'Usage
 
Dim instance As RasterRegion
Dim rect As LeadRect
 
instance.Clip(rect)
public void Clip( 
   LeadRect rect
)
-(BOOL)clip:(LeadRect)rect error:(NSError**)outError;
public void clip(LeadRect rect)
 function Leadtools.RasterRegion.Clip( 
   rect 
)
public:
void Clip( 
   LeadRect rect
) 

Parameters

rect
A LeadRect that defines the clipping boundaries.
Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing

Public Sub RasterRegionClipExample()
   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_ClipRegion.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)
         ' Clip this region by 10 pixels from each end
         Dim bounds As LeadRect = region.GetBounds()
         bounds.Inflate(-10, -10)

         region.Clip(bounds)

         ' 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 RasterRegionClipExample()
{
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_ClipRegion.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))
         {
            // Clip this region by 10 pixels from each end
            LeadRect bounds = region.GetBounds();
            bounds.Inflate(-10, -10);

            region.Clip(bounds);

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

            var srcFileName = "Assets\\Image1.cmp";
            var destFileName = "Image1_ClipRegion.bmp";
            var image;
            // Load the source image
            return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                return codecs.loadAsync(LeadStreamFactory.create(loadFile), 0, CodecsLoadByteOrder.bgrOrGray, 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);

                    // Clip this region by 10 pixels from each end
                    var bounds = LeadRectHelper.inflate(region.getBounds(), LeadSizeHelper.create(-10, -10));

                    region.clip(bounds);

                    // 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 RasterRegionClipExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = "Image1_ClipRegion.bmp";

   // Load the source image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 0, CodecsLoadByteOrder.BgrOrGray, 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))
      {
         // Clip this region by 10 pixels from each end
         LeadRect bounds = LeadRectHelper.Inflate(region.GetBounds(), LeadSizeHelper.Create(-10, -10));

         region.Clip(bounds);

         // 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.