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



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

Syntax

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

Example

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

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

      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