←Select platform

RasterRegion Class

Summary

Describes a region of interest in a RasterImage object.

Syntax
C#
VB
Objective-C
C++
Java
public class RasterRegion : IDisposable 
Public Class RasterRegion  
   Implements System.IDisposable  
@interface LTRasterRegion : NSObject 
public class RasterRegion 
public ref class RasterRegion : public System.IDisposable   

Remarks

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.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
public void RasterRegionExample() 
{ 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string destFileName1 = Path.Combine(ImagesPath.Path, "Image1_WithRegion1.bmp"); 
   string destFileName2 = Path.Combine(ImagesPath.Path, "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); 
         } 
      } 
   } 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
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 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly