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();
}