←Select platform

Combine(LeadRect,RasterRegionCombineMode) Method

Summary

Updates this RasterRegion to a combination of itself and the specified LeadRect

Syntax
C#
VB
Java
Objective-C
C++
Public Overloads Sub Combine( _ 
   ByVal rect As LeadRect, _ 
   ByVal combineMode As RasterRegionCombineMode _ 
)  
- (BOOL)combineWithRect:(LeadRect)rect 
            combineMode:(LTRasterRegionCombineMode)combineMode 
                  error:(NSError **)error 
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
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
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); 
      } 
   } 
} 
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 

Requirements

Target Platforms

Help Version 20.0.2019.3.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly