←Select platform

Combine(LeadRect,RasterRegionCombineMode) Method

Summary
Updates this RasterRegion to a combination of itself and the specified LeadRect
Syntax
C#
Objective-C
C++/CLI
Java
Python
- (BOOL)combineWithRect:(LeadRect)rect 
            combineMode:(LTRasterRegionCombineMode)combineMode 
                  error:(NSError **)error 
def Combine(self,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#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
public void RasterRegionCombineRectExample() 
{ 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
   string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "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); 
      } 
   } 
} 
 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import static org.junit.Assert.assertTrue; 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.FillCommand; 
 
 
public void rasterRegionCombineRectExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp"); 
   String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_CombineRect.bmp"); 
 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Load the source image 
   RasterImage image = codecs.load(srcFileName, 0, CodecsLoadByteOrder.BGR_OR_GRAY, 1, 1); 
 
   // Add a small elliptical region 
   image.addEllipseToRegion(null, new LeadRect(0, 0, image.getImageWidth() / 3, image.getImageHeight() / 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.getImageWidth() / 4, image.getImageHeight() / 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); 
 
   assertTrue("Image unsuccessfully saved", new File(destFileName).exists()); 
   System.out.println("Command run and image saved to " + destFileName); 
} 
Requirements

Target Platforms

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

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.