Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Public Sub RasterRegionIsVisibleExample()
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_IsVisibleRegion.bmp")
' Load the source image
Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
' Add a small elliptical region
image.AddEllipseToRegion(Nothing, New LeadRect(image.ImageWidth \ 3, image.ImageHeight \ 3, image.ImageWidth \ 3, image.ImageHeight \ 3), RasterRegionCombineMode.Set)
' Get the region
Using region As RasterRegion = image.GetRegion(Nothing)
' Remove the region from the image
image.MakeRegionEmpty()
' Loop the image pixels, if it is inside the region, switch
' the red and blue component of the pixel color
For y As Integer = 0 To image.Height - 1
For x As Integer = 0 To image.Width - 1
' Check if this pixel is inside the region
If (region.IsVisible(New LeadPoint(x, y))) Then
' Yes, flip its R and B component
Dim color As RasterColor = image.GetPixelColor(y, x)
color = New RasterColor(color.B, color.G, color.R)
image.SetPixelColor(y, x, color)
End If
Next
Next
End Using
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 RasterRegionIsVisibleExample()
{
string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
string destFileName = Path.Combine(ImagesPath.Path, "Image1_IsVisibleRegion.bmp");
using (RasterCodecs codecs = new RasterCodecs())
{
// Load the source image
using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
{
// Add a small elliptical region
image.AddEllipseToRegion(null, new LeadRect(image.ImageWidth / 3, image.ImageHeight / 3, image.ImageWidth / 3, image.ImageHeight / 3), RasterRegionCombineMode.Set);
// Get the region
using (RasterRegion region = image.GetRegion(null))
{
// Remove the region from the image
image.MakeRegionEmpty();
// Loop the image pixels, if it is inside the region, switch
// the red and blue component of the pixel color
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
// Check if this pixel is inside the region
if (region.IsVisible(new LeadPoint(x, y)))
{
// Yes, flip its R and B component
RasterColor color = image.GetPixelColor(y, x);
color = new RasterColor(color.B, color.G, color.R);
image.SetPixelColor(y, x, color);
}
}
}
}
codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
}
}
}
RasterRegionExamples.prototype.RasterRegionIsVisibleExample = function () {
Tools.SetLicense();
with (Leadtools) {
with (Leadtools.Codecs) {
var codecs = new RasterCodecs();
var srcFileName = "Assets\\Image1.cmp";
var destFileName = "Image1_IsVisibleRegion.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 small elliptical region
image.addEllipseToRegion(null, LeadRectHelper.create(image.imageWidth / 3, image.imageHeight / 3, image.imageWidth / 3, image.imageHeight / 3), RasterRegionCombineMode.set);
// Get the region
var region = image.getRegion(null);
// Remove the region from the image
image.makeRegionEmpty();
// Loop the image pixels, if it is inside the region, switch
// the red and blue component of the pixel color
for (var y = 0; y < image.height; y++) {
for (var x = 0; x < image.width; x++) {
// Check if this pixel is inside the region
if (region.isVisible(LeadPointHelper.create(x, y))) {
// Yes, flip its R and B component
var color = image.getPixelColor(y, x);
color = RasterColorHelper.create(color.b, color.g, color.r);
image.setPixelColor(y, x, color);
}
}
}
region.close();
return Tools.AppLocalFolder().createFileAsync(destFileName)
})
.then(function (saveFile) {
var saveStream = LeadStreamFactory.create(saveFile);
return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 0)
})
.then(function () {
image.close();
codecs.close();
});
}
}
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
public async Task RasterRegionIsVisibleExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = @"Assets\Image1.cmp";
string destFileName = "Image1_IsVisibleRegion.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 small elliptical region
image.AddEllipseToRegion(null, LeadRectHelper.Create(image.ImageWidth / 3, image.ImageHeight / 3, image.ImageWidth / 3, image.ImageHeight / 3), RasterRegionCombineMode.Set);
// Get the region
using (RasterRegion region = image.GetRegion(null))
{
// Remove the region from the image
image.MakeRegionEmpty();
// Loop the image pixels, if it is inside the region, switch
// the red and blue component of the pixel color
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
// Check if this pixel is inside the region
if (region.IsVisible(LeadPointHelper.Create(x, y)))
{
// Yes, flip its R and B component
RasterColor color = image.GetPixelColor(y, x);
color = RasterColorHelper.Create(color.B, color.G, color.R);
image.SetPixelColor(y, x, color);
}
}
}
}
StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 0);
}
codecs.Dispose();
}