Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.28
|
Leadtools Namespace > RasterRegion Class : Clip Method |
'Usage
Dim instance As RasterRegion Dim rect As LeadRect instance.Clip(rect)
- (BOOL)clip:(LeadRect)rect error:(NSError **)error
public void clip(LeadRect rect)
function Leadtools.RasterRegion.Clip( rect )
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.
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(); }