LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

Clip Method

Example 





A LeadRect that defines the clipping boundaries.
Trims this RasterRegion to fit inside a specified LeadRect. .NET support Silverlight support WinRT support
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
)
 function Leadtools.RasterRegion.Clip( 
   rect 
)
public:
void Clip( 
   LeadRect rect
) 

Parameters

rect
A LeadRect that defines the clipping boundaries.
Example
 
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
public void RasterRegionClipExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_ClipRegion.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))
         {
            // 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);
      }

      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
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();
                });
        }
    }
}
[TestMethod]
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterRegion Class
RasterRegion Members

 

 


Products | Support | Contact Us | Copyright Notices

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