LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

GetRegionBounds Method

Example 





RasterRegionXForm object that LEADTOOLS uses to translate between display coordinates and image coordinates. If you specify null (Nothing in Visual Basic) in this parameter, the scalar fields default to 1, the offsets default to 0, and the view perspective defaults to the image view perspective.
Gets the bounding rectangle of the image region. .NET support Silverlight support WinRT support
Syntax
public LeadRect GetRegionBounds( 
   RasterRegionXForm xform
)
'Declaration
 
Public Function GetRegionBounds( _
   ByVal xform As RasterRegionXForm _
) As LeadRect
'Usage
 
Dim instance As RasterImage
Dim xform As RasterRegionXForm
Dim value As LeadRect
 
value = instance.GetRegionBounds(xform)
public LeadRect GetRegionBounds( 
   RasterRegionXForm xform
)
 function Leadtools.RasterImage.GetRegionBounds( 
   xform 
)
public:
LeadRect GetRegionBounds( 
   RasterRegionXForm^ xform
) 

Parameters

xform
RasterRegionXForm object that LEADTOOLS uses to translate between display coordinates and image coordinates. If you specify null (Nothing in Visual Basic) in this parameter, the scalar fields default to 1, the offsets default to 0, and the view perspective defaults to the image view perspective.

Return Value

The bounding rectangle.
Example
 
Public Sub GetRegionBoundsExample()
      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_GetRegionBounds.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)

      rc = image.GetRegionBounds(Nothing)

      image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Xor)

      ' Invert the region area and save the image
      Dim command As InvertCommand = New InvertCommand()
      command.Run(image)
      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 GetRegionBoundsExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_GetRegionBounds.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);

      rc = image.GetRegionBounds(null);

      image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Xor);

      // Invert the region area and save the image
      InvertCommand command = new InvertCommand();
      command.Run(image);
      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.GetRegionBoundsExample = function () {
   Tools.SetLicense();
   with (Leadtools) {
      with (Leadtools.Codecs) {
         var codecs = new RasterCodecs();

         var srcFileName = "Assets\\Image1.cmp";
         var destFileName = "Image1_GetRegionBounds.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);

               rc = image.getRegionBounds(null);

               image.addRectangleToRegion(null, rc, RasterRegionCombineMode.xor);

               // Invert the region area and save the image
               var command = new Leadtools.ImageProcessing.Color.InvertCommand();
               command.run(image);
               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 GetRegionBoundsExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"Image1_GetRegionBounds.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);

   rc = image.GetRegionBounds(null);

   image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Xor);

   // Invert the region area and save the image
   InvertCommand command = new InvertCommand();
   command.Run(image);
   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 GetRegionBoundsExample(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 an rectanle inside 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);

   rc = image.GetRegionBounds(null);

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

   // Invert the region area and save the image
   InvertCommand command = new InvertCommand();
   command.Run(image);

   // Save the image back to file
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, destStream, RasterImageFormat.Bmp, 0);

   image.Dispose();
}
Public Sub GetRegionBoundsExample(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 an rectanle 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.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Set)

   rc = image.GetRegionBounds(Nothing)

   rc = New LeadRect(image.Width / 4, image.Height / 4, image.Width / 4, image.Height / 4)
   image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Xor)

   ' Invert the region area and save the image
   Dim command As InvertCommand = New InvertCommand()
   command.Run(image)

   ' Save the image back to file
   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.