LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

RegionContains Method

Example 





The row number of the pixel.
The column number of the pixel.
Determines whether the specified pixel is in the image region. .NET support Silverlight support WinRT support
Syntax
public bool RegionContains( 
   int row,
   int col
)
'Declaration
 
Public Function RegionContains( _
   ByVal row As Integer, _
   ByVal col As Integer _
) As Boolean
'Usage
 
Dim instance As RasterImage
Dim row As Integer
Dim col As Integer
Dim value As Boolean
 
value = instance.RegionContains(row, col)
public bool RegionContains( 
   int row,
   int col
)
 function Leadtools.RasterImage.RegionContains( 
   row ,
   col 
)
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; false, otherwise.
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.

Example
 
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
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";
}
RasterImageExamples.prototype.RegionContainsExample = function () {
   Tools.SetLicense();
   with (Leadtools) {
      with (Leadtools.Codecs) {
         var codecs = new RasterCodecs();

         var srcFileName = "Assets\\Image1.cmp";
         var destFileName = "Image1_RegionContains.bmp";
         var image;
         // Load the image
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
         .then(function (img) {
            image = img;

            // Add an ellipse inside a rectangle region to the image
            var rc = LeadRectHelper.create(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 (var y = 0; y < image.height; y++) {
               for (var x = 0; x < image.width; x++) {
                  if (image.regionContains(y, x)) {
                     var clr = image.getPixelColor(y, x);
                     clr = RasterColorHelper.create(clr.r * 2, clr.g * 2, clr.b * 2);
                     image.setPixelColor(y, x, clr);
                  }
               }
            }

            return Tools.AppLocalFolder().createFileAsync(destFileName);
         })
         .then(function (saveFile) {
            var saveStream = LeadStreamFactory.create(saveFile);
         
            return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24);
         })
         .then(function () {


            image.close();
            codecs.close();
         });
      }
   }
}
[TestMethod]
public async Task RegionContainsExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"Image1_RegionContains.bmp";

   // Load the image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

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

   LeadRect rc = LeadRectHelper.Create(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 = RasterColorHelper.Create(clr.R * 2, clr.G * 2, clr.B * 2);
            image.SetPixelColor(y, x, clr);
         }
      }
   }

   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
   await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24);

   image.Dispose();
   codecs.Dispose();
}
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();
}
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
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterImage Class
RasterImage Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.