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



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.
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.
Updates this RasterRegion to a combination of itself and the specified RasterRegionSupported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Overloads Public Sub Combine( _
   ByVal region As RasterRegion, _
   ByVal combineMode As RasterRegionCombineMode _
) 
Visual Basic (Usage)Copy Code
Dim instance As RasterRegion
Dim region As RasterRegion
Dim combineMode As RasterRegionCombineMode
 
instance.Combine(region, combineMode)
C# 
public void Combine( 
   RasterRegion region,
   RasterRegionCombineMode combineMode
)
C++/CLI 
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.

Example

Visual BasicCopy Code
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
C#Copy Code
public void RasterRegionCombineRegionExample()
   {
      RasterCodecs codecs = new RasterCodecs();

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

      // 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);
      }

      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

Remarks

For more information, refer to RasterRegionCombineMode.

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