public class RasterRegion : IDisposable
@interface LTRasterRegion : NSObject
public class RasterRegion
public ref class RasterRegion : public System.IDisposable
class RasterRegion(IDisposable):
The RasterImage object contains a region of interest value that can be used to limit the portion available for updating when using the image processing command. The region can be set using a geometric shape such as RasterImage.AddRectangleToRegion and RasterImage.AddEllipseToRegion or with image data attributes such as RasterImage.AddColorToRegion and RasterImage.AddMaskToRegion.
At any point, you can get a copy of the region inside a RasterImage object using the RasterImage.GetRegion method and update the region inside an image using the RasterImage.SetRegion method.
The RasterRegion class provides a platform independent representation of a region of interest in an image that can be used in any platform supported by LEADTOOLS such as GDI, GDI+, and WPF.
To convert a LEADTOOLS RasterRegion object to/from a device dependent region, you can use the following helper classes:
The RasterRegion class implements the IDisposable interface, so you must call Dispose on any region objects you create after using it.
For more information, refer to Creating a Region.
For more information, refer to Saving A Region.
For more information, refer to Working with the Existing Region.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
public void RasterRegionExample()
{
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string destFileName1 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion1.bmp");
string destFileName2 = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion2.bmp");
using (RasterCodecs codecs = new RasterCodecs())
{
// Load the source image
using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
{
// Create a new rectangular RasterRegion
using (RasterRegion region = new RasterRegion(new LeadRect(20, 30, 100, 200)))
{
// Show this region properties
Console.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, region.GetBounds());
// Set it into the image
image.SetRegion(null, region, RasterRegionCombineMode.Set);
// Fill the image with a color and save it to disk to show the region
FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
cmd.Run(image);
codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24);
// Clear this region
region.MakeEmpty();
// Show its properties
Console.WriteLine("IsEmpty: {0}\nBounds: {1}", region.IsEmpty, region.GetBounds());
// Set it into the image and fill again with red, notice
// that this will fill the whole image since
// the region is now empty
image.SetRegion(null, region, RasterRegionCombineMode.Set);
cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red));
cmd.Run(image);
codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24);
}
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.FillCommand;
public void rasterRegionExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp");
String destFileName1 = combine(LEAD_VARS_IMAGES_DIR, "Image1_WithRegion1.bmp");
String destFileName2 = combine(LEAD_VARS_IMAGES_DIR, "Image1_WithRegion2.bmp");
RasterCodecs codecs = new RasterCodecs();
// Load the source image
RasterImage image = codecs.load(srcFileName, 0, CodecsLoadByteOrder.BGR_OR_GRAY, 1, 1);
// Create a new rectangular RasterRegion
RasterRegion region = new RasterRegion(new LeadRect(20, 30, 100, 200));
// Show this region properties
System.out.println("IsEmpty: " + region.isEmpty() + "\nBounds: " + region.getBounds());
// Set it into the image
image.setRegion(null, region, RasterRegionCombineMode.SET);
// Fill the image with a color and save it to disk to show the region
FillCommand cmd = new FillCommand(RasterColor.fromKnownColor(RasterKnownColor.YELLOW));
cmd.run(image);
codecs.save(image, destFileName1, RasterImageFormat.BMP, 24);
// Clear this region
region.makeEmpty();
// Show its properties
System.out.println("IsEmpty: " + region.isEmpty() + "\nBounds: " + region.getBounds());
// Set it into the image and fill again with red, notice
// that this will fill the whole image since
// the region is now empty
image.setRegion(null, region, RasterRegionCombineMode.SET);
cmd = new FillCommand(RasterColor.fromKnownColor(RasterKnownColor.RED));
cmd.run(image);
codecs.save(image, destFileName2, RasterImageFormat.BMP, 24);
assertTrue("Image unsuccessfully saved", (new File(destFileName2)).exists());
System.out.println("Command run and image saved to " + destFileName2);
}
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