LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

Combine(RasterRegion,RasterRegionCombineMode) Method

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 .NET support Silverlight support
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
)
 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
 
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
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";
}
[TestMethod]
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: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterRegion Class
RasterRegion Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.