Leadtools Namespace > RasterRegion Class : Clip Method |
'Usage Dim instance As RasterRegion Dim rect As LeadRect instance.Clip(rect)
function Leadtools.RasterRegion.Clip( rect )
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(); }
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