LEADTOOLS (Leadtools assembly)

Combine(RasterRegion,RasterRegionCombineMode) Method

Show in webframe
Example 







The RasterRegion 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 RasterRegion
Syntax
public void Combine( 
   RasterRegion region,
   RasterRegionCombineMode combineMode
)
'Declaration
 
Public Overloads Sub Combine( _
   ByVal region As RasterRegion, _
   ByVal combineMode As RasterRegionCombineMode _
) 
'Usage
 
Dim instance As RasterRegion
Dim region As RasterRegion
Dim combineMode As RasterRegionCombineMode
 
instance.Combine(region, combineMode)
public void Combine( 
   RasterRegion region,
   RasterRegionCombineMode combineMode
)
-(BOOL)combineWithRegion:(LTRasterRegion*)region 
             combineMode:(LTRasterRegionCombineMode)combineMode 
                   error:(NSError**)outError;
            
public void combine(
  RasterRegion region, 
  RasterRegionCombineMode combineMode
)
            
 function Leadtools.RasterRegion.Combine(RasterRegion,RasterRegionCombineMode)( 
   region ,
   combineMode 
)
public:
void Combine( 
   RasterRegion^ region,
   RasterRegionCombineMode combineMode
) 

Parameters

region
The RasterRegion 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 RasterRegionCombineRegionExample()
   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_CombineRegion.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 region1 As RasterRegion = image.GetRegion(Nothing)
      image.MakeRegionEmpty()

      ' Add a smaller elliptical region
      image.AddEllipseToRegion(Nothing, New LeadRect(0, 0, image.ImageWidth \ 4, image.ImageHeight \ 4), RasterRegionCombineMode.Set)

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

      ' Combine both regions to contain only the difference between the two
      region1.Combine(region2, RasterRegionCombineMode.Xor)
      region2.Dispose()

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

      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 RasterRegionCombineRegionExample()
{
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_CombineRegion.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 region1 = image.GetRegion(null);
         image.MakeRegionEmpty();

         // Add a smaller elliptical region
         image.AddEllipseToRegion(null, new LeadRect(0, 0, image.ImageWidth / 4, image.ImageHeight / 4), RasterRegionCombineMode.Set);

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

         // Combine both regions to contain only the difference between the two
         region1.Combine(region2, RasterRegionCombineMode.Xor);
         region2.Dispose();

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

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

         codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task RasterRegionCombineRegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = "Image1_CombineRegion.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 region1 = image.GetRegion(null);
      image.MakeRegionEmpty();

      // Add a smaller elliptical region
      image.AddEllipseToRegion(null, LeadRectHelper.Create(0, 0, image.ImageWidth / 4, image.ImageHeight / 4), RasterRegionCombineMode.Set);

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

      // Combine both regions to contain only the difference between the two
      region1.Combine(region2, RasterRegionCombineMode.Xor);
      region2.Dispose();

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

      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, 0);
   }

   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.