- (BOOL)clip:(LeadRect)rect error:(NSError **)error
public void clip(LeadRect rect)
rect
A LeadRect that defines the clipping boundaries.
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.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
public void RasterRegionClipExample()
{
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "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);
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";
}
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:\LEADTOOLS21\Resources\Images"
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document