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



rect
A LeadRect that defines the clipping boundaries.
rect
A LeadRect that defines the clipping boundaries.
Trims this RasterRegion to fit inside a specified LeadRect. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public Sub Clip( _
   ByVal rect As LeadRect _
) 
Visual Basic (Usage)Copy Code
Dim instance As RasterRegion
Dim rect As LeadRect
 
instance.Clip(rect)
C# 
public void Clip( 
   LeadRect rect
)
C++/CLI 
public:
void Clip( 
   LeadRect rect
) 

Parameters

rect
A LeadRect that defines the clipping boundaries.

Example

This example will create a large elliptical region in an image and fill it with yellow. It will then clip this region by 10 pixels from each side and fill the new region with red.

Visual BasicCopy Code
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
C#Copy Code
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";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

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