LEADTOOLS (Leadtools assembly)

Combine(LeadRect,RasterRegionCombineMode) Method

Show in webframe
Example 







The LeadRect structure to combine with this RasterRegion.
One of the RasterRegionCombineMode enumeration members that describes the combine method to use. This cannot be RasterRegionCombineMode.AndNotImage or RasterRegionCombineMode.AndNotRegion. Using any of these combine method will result in an exception.
Updates this RasterRegion to a combination of itself and the specified LeadRect
Syntax
public void Combine( 
   LeadRect rect,
   RasterRegionCombineMode combineMode
)
'Declaration
 
Public Overloads Sub Combine( _
   ByVal rect As LeadRect, _
   ByVal combineMode As RasterRegionCombineMode _
) 
'Usage
 
Dim instance As RasterRegion
Dim rect As LeadRect
Dim combineMode As RasterRegionCombineMode
 
instance.Combine(rect, combineMode)
public void Combine( 
   LeadRect rect,
   RasterRegionCombineMode combineMode
)
-(BOOL)combineWithRect:(LeadRect)rect 
           combineMode:(LTRasterRegionCombineMode)combineMode 
                 error:(NSError**)outError;
            
public void combine(
  LeadRect rect, 
  RasterRegionCombineMode combineMode
)
            
 function Leadtools.RasterRegion.Combine(LeadRect,RasterRegionCombineMode)( 
   rect ,
   combineMode 
)
public:
void Combine( 
   LeadRect rect,
   RasterRegionCombineMode combineMode
) 

Parameters

rect
The LeadRect structure to combine with this RasterRegion.
combineMode
One of the RasterRegionCombineMode enumeration members that describes the combine method to use. This cannot be RasterRegionCombineMode.AndNotImage or RasterRegionCombineMode.AndNotRegion. Using any of these combine method will result in an exception.
Remarks

For more information, refer to RasterRegionCombineMode.

Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing

Public Sub RasterRegionCombineRectExample()
   Dim codecs As New RasterCodecs()

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

   ' Load the source image
   Using image As RasterImage = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
      ' Add a small elliptical region
      image.AddEllipseToRegion(Nothing, New LeadRect(0, 0, image.ImageWidth \ 3, image.ImageHeight \ 3), RasterRegionCombineMode.Set)

      ' Get this region
      Dim region As RasterRegion = image.GetRegion(Nothing)
      image.MakeRegionEmpty()

      ' Create a rectangle that fits in this region area
      Dim rc As New LeadRect(0, 0, image.ImageWidth \ 4, image.ImageHeight \ 4)

      ' Combine the region to contain only the difference between the it and the rectangle
      region.Combine(rc, RasterRegionCombineMode.Xor)

      ' Set this region to the image and fill it with yellow
      image.SetRegion(Nothing, region, RasterRegionCombineMode.Set)

      Dim cmd As New FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow))
      cmd.Run(image)

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

   codecs.Dispose()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public void RasterRegionCombineRectExample()
{
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_CombineRect.bmp");
   using (RasterCodecs codecs = new RasterCodecs())
   {
      // Load the source image
      using (RasterImage image = codecs.Load(srcFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
      {
         // Add a small elliptical region
         image.AddEllipseToRegion(null, new LeadRect(0, 0, image.ImageWidth / 3, image.ImageHeight / 3), RasterRegionCombineMode.Set);

         // Get this region
         RasterRegion region = image.GetRegion(null);
         image.MakeRegionEmpty();

         // Create a rectangle that fits in this region area
         LeadRect rc = new LeadRect(0, 0, image.ImageWidth / 4, image.ImageHeight / 4);

         // Combine the region to contain only the difference between the it and the rectangle
         region.Combine(rc, RasterRegionCombineMode.Xor);

         // Set this region to the image and fill it with yellow
         image.SetRegion(null, region, RasterRegionCombineMode.Set);

         FillCommand cmd = new FillCommand(RasterColor.FromKnownColor(RasterKnownColor.Yellow));
         cmd.Run(image);

         codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
      }
   }
}
RasterRegionExamples.prototype.RasterRegionCombineRectExample = function ( ) 
{
    Tools.SetLicense ( ) ;
    with (Leadtools) {
        with (Leadtools.Codecs) {
            var codecs = new RasterCodecs();

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

                    // Add a small elliptical region
                    image.addEllipseToRegion(null, LeadRectHelper.create(0, 0, image.imageWidth / 3, image.imageHeight / 3), RasterRegionCombineMode.set);

                    // Get this region
                    var region = image.getRegion(null);
                    image.makeRegionEmpty();

                    // Create a rectangle that fits in this region area
                    var rc = LeadRectHelper.create(0, 0, image.imageWidth / 4, image.imageHeight / 4);

                    // Combine the region to contain only the difference between the it and the rectangle
                    region.combine(rc, RasterRegionCombineMode.xor);

                    // Set this region to the image and fill it with yellow
                    image.setRegion(null, region, RasterRegionCombineMode.set);

                    cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.yellow));
                    cmd.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();
                });
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task RasterRegionCombineRectExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = "Image1_CombineRect.bmp";

   // Load the source image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile), 0, CodecsLoadByteOrder.BgrOrGray, 1, 1))
   {
      // Add a small elliptical region
      image.AddEllipseToRegion(null, LeadRectHelper.Create(0, 0, image.ImageWidth / 3, image.ImageHeight / 3), RasterRegionCombineMode.Set);

      // Get this region
      RasterRegion region = image.GetRegion(null);
      image.MakeRegionEmpty();

      // Create a rectangle that fits in this region area
      LeadRect rc = LeadRectHelper.Create(0, 0, image.ImageWidth / 4, image.ImageHeight / 4);

      // Combine the region to contain only the difference between the it and the rectangle
      region.Combine(rc, RasterRegionCombineMode.Xor);

      // Set this region to the image and fill it with yellow
      image.SetRegion(null, region, RasterRegionCombineMode.Set);

      FillCommand cmd = new FillCommand(RasterColorHelper.FromKnownColor(RasterKnownColor.Yellow));
      cmd.Run(image);

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

   codecs.Dispose();
}
Requirements

Target Platforms

See Also

Reference

RasterRegion Class
RasterRegion Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices

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