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



row
The row number of the pixel.
col
The column number of the pixel.
row
The row number of the pixel.
col
The column number of the pixel.
Determines whether the specified pixel is in the image region. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public Function RegionContains( _
   ByVal row As Integer, _
   ByVal col As Integer _
) As Boolean
Visual Basic (Usage)Copy Code
Dim instance As RasterImage
Dim row As Integer
Dim col As Integer
Dim value As Boolean
 
value = instance.RegionContains(row, col)
C# 
public bool RegionContains( 
   int row,
   int col
)
C++/CLI 
public:
bool RegionContains( 
   int row,
   int col
) 

Parameters

row
The row number of the pixel.
col
The column number of the pixel.

Return Value

true if the specified pixel is in the region, otherwise; false.

Example

Visual BasicCopy Code
Public Sub RegionContainsExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
      Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_RegionContains.bmp")

      ' Load the image
      Dim image As RasterImage = codecs.Load(srcFileName)

      ' Add an ellipse inside a rectangle region to the image

      Dim rc As LeadRect = New LeadRect(image.Width \ 3, image.Height \ 3, image.Width \ 3, image.Height \ 3)
      image.AddEllipseToRegion(Nothing, rc, RasterRegionCombineMode.Set)

      ' Loop through the image and turn all pixels in the region to double intensity
      Dim y As Integer = 0
      Do While y < image.Height
         Dim x As Integer = 0
         Do While x < image.Width
            If image.RegionContains(y, x) Then
               Dim clr As RasterColor = image.GetPixelColor(y, x)
               clr = New RasterColor(clr.R * 2, clr.G * 2, clr.B * 2)
               image.SetPixelColor(y, x, clr)
            End If
            x += 1
         Loop
         y += 1
      Loop

      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)

      image.Dispose()
      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 RegionContainsExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_RegionContains.bmp");

      // Load the image
      RasterImage image = codecs.Load(srcFileName);

      // Add an ellipse inside a rectangle region to the image

      LeadRect rc = new LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3);
      image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set);

      // Loop through the image and turn all pixels in the region to double intensity
      for(int y = 0; y < image.Height; y++)
      {
         for(int x = 0; x < image.Width; x++)
         {
            if(image.RegionContains(y, x))
            {
               RasterColor clr = image.GetPixelColor(y, x);
               clr = new RasterColor(clr.R * 2, clr.G * 2, clr.B * 2);
               image.SetPixelColor(y, x, clr);
            }
         }
      }

      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);

      image.Dispose();
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void RegionContainsExample(Stream destStream)
{
   // create a new image to work with
   RasterImage image = new RasterImage(RasterMemoryFlags.Conventional, 500, 500, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, null, 0);
   // Add a rectangle region to the image

   LeadRect rc = new LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3);
   image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Set);

   // Loop through the image and turn all pixels in the region to double intensity
   for (int y = 0; y < image.Height; y++)
   {
      for (int x = 0; x < image.Width; x++)
      {
         if (image.RegionContains(y, x))
         {
            RasterColor clr = image.GetPixelColor(y, x);
            clr = new RasterColor(clr.R * 2, clr.G * 2, clr.B * 2);
            image.SetPixelColor(y, x, clr);
         }
      }
   }

   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, destStream, RasterImageFormat.Bmp, 0);

   image.Dispose();
}
SilverlightVBCopy Code
Public Sub RegionContainsExample(ByVal destStream As Stream)
   ' create a new image to work with
   Dim image As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, 500, 500, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, Nothing, 0)
   ' Add a rectangle region to the image

   Dim rc As LeadRect = New LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3)
   image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Set)

   ' Loop through the image and turn all pixels in the region to double intensity
   Dim y As Integer = 0
   Do While y < image.Height
      Dim x As Integer = 0
      Do While x < image.Width
         If image.RegionContains(y, x) Then
            Dim clr As RasterColor = image.GetPixelColor(y, x)
            clr = New RasterColor(clr.R * 2, clr.G * 2, clr.B * 2)
            image.SetPixelColor(y, x, clr)
         End If
         x += 1
      Loop
      y += 1
   Loop

   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, destStream, RasterImageFormat.Bmp, 0)

   image.Dispose()
End Sub

Remarks

This method uses image coordinates to specify the pixel. Therefore, you must account for the view perspective of the image.

For more information, refer to Working with the Existing Region.

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