LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
RasterRegion Class
See Also  Members  
Leadtools Namespace : RasterRegion Class



Describes a region of interests in a RasterImage object. Supported in Silverlight, Windows Phone 7

Object Model

RasterRegion Class

Syntax

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  

Example

Visual BasicCopy 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";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

Remarks

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:

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.

Inheritance Hierarchy

System.Object
   Leadtools.RasterRegion

Requirements

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

See Also