Leadtools Namespace > RasterRegion Class > Combine Method : Combine(LeadRect,RasterRegionCombineMode) Method |
public void Combine( LeadRect rect, RasterRegionCombineMode combineMode )
'Declaration Public Overloads Sub Combine( _ ByVal rect As LeadRect, _ ByVal combineMode As RasterRegionCombineMode _ )
'Usage Dim instance As RasterRegion Dim rect As LeadRect Dim combineMode As RasterRegionCombineMode instance.Combine(rect, combineMode)
public void Combine( LeadRect rect, RasterRegionCombineMode combineMode )
function Leadtools.RasterRegion.Combine(LeadRect,RasterRegionCombineMode)( rect , combineMode )
public: void Combine( LeadRect rect, RasterRegionCombineMode combineMode )
For more information, refer to RasterRegionCombineMode.
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
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"; }
RasterRegionExamples.prototype.RasterRegionCombineRectExample = function ( ) { Tools.SetLicense ( ) ; with (Leadtools) { with (Leadtools.Codecs) { var codecs = new RasterCodecs(); var srcFileName = "Assets\\Image1.cmp"; var destFileName = "Image1_CombineRect.bmp"; var image; // Load the source image return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(LeadStreamFactory.create(loadFile), 0, CodecsLoadByteOrder.bgrOrGray, 1, 1) }) .then(function (img) { image = img; // Add a small elliptical region image.addEllipseToRegion(null, LeadRectHelper.create(0, 0, image.imageWidth / 3, image.imageHeight / 3), RasterRegionCombineMode.set); // Get this region var region = image.getRegion(null); image.makeRegionEmpty(); // Create a rectangle that fits in this region area var rc = LeadRectHelper.create(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); cmd = new Leadtools.ImageProcessing.FillCommand(RasterColorHelper.fromKnownColor(RasterKnownColor.yellow)); cmd.run(image); return Tools.AppLocalFolder().createFileAsync(destFileName) }) .then(function (saveFile) { var saveStream = LeadStreamFactory.create(saveFile); return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24) }) .then(function () { image.close(); codecs.close(); }); } } }
[TestMethod] public async Task RasterRegionCombineRectExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = @"Assets\Image1.cmp"; string destFileName = "Image1_CombineRect.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 region = image.GetRegion(null); image.MakeRegionEmpty(); // Create a rectangle that fits in this region area LeadRect rc = LeadRectHelper.Create(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(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, 24); } 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