Visual Basic (Declaration) | |
---|---|
Public Class RasterRegion Implements IDisposable |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As RasterRegion |
C# | |
---|---|
public class RasterRegion : IDisposable |
C++/CLI | |
---|---|
public ref class RasterRegion : public IDisposable |
Visual Basic | Copy Code |
---|---|
Public Sub RasterRegionExample() Dim codecs As New RasterCodecs() Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion1.bmp") Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithRegion2.bmp") ' Load the source image Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) ' Create a new rectangular RasterRegion Using region As 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(Nothing, region, RasterRegionCombineMode.Set) ' Fill the image with a color and save it to disk to show the region Dim cmd As 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(Nothing, region, RasterRegionCombineMode.Set) cmd = New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Red)) cmd.Run(image) codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24) End Using End Using codecs.Dispose() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public void RasterRegionExample() { RasterCodecs codecs = new RasterCodecs(); 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"); // 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); } } codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
SilverlightCSharp | Copy Code |
---|---|
SilverlightVB | Copy Code |
---|---|
The RasterImage object contains a region of interest value that can be used to limit the portion available to update 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+, WPF and Silverlight.
To convert a LEADTOOLS RasterRegion object to/from a device dependent region, you can use the following helper classes:
- Leadtools.Drawing.RasterRegionConverter to convert to/from a System.Drawing (GDI+) System.Drawing.Region or Windows HRGN objects.
- Leadtools.Windows.Media.RasterRegionConverter to convert to/from a WPF and Silverlight System.Windows.Media.Geometry object.
The RasterRegion class implements the System.IDisposable interface, so you must call System.IDisposable.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.
System.Object
Leadtools.RasterRegion
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7