Leadtools Namespace > RasterRegion Class > Combine Method : Combine(RasterRegion,RasterRegionCombineMode) Method |
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 )
For more information, refer to RasterRegionCombineMode.
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(); }
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