Leadtools Namespace > RasterImage Class : HasRegion Property |
public bool HasRegion {get;}
'Declaration Public ReadOnly Property HasRegion As Boolean
'Usage Dim instance As RasterImage Dim value As Boolean value = instance.HasRegion
public bool HasRegion {get;}
@property (nonatomic, assign, readwrite) BOOL hasRegion;
public boolean hasRegion()
get_HasRegion();
When an image has a region, the LEADTOOLS methods that modify the pixel values (for example Leadtools.ImageProcessing.Color.PosterizeCommand) act on the region, rather than the whole image. In addition, the LEADTOOLS methods that flip, reverse, rotate, shear, or resize an image also transform the region to match the image. For example, if you were to shear the image that had a rectangular region, the region would become a parallelogram.
To remove an image region, use MakeRegionEmpty.
For more information, refer to Working with the Existing Region.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Core Imports Leadtools.ImageProcessing.Color Imports Leadtools.WinForms Imports Leadtools.Dicom Imports Leadtools.Drawing Public Sub RegionExample() Dim codecs As RasterCodecs = New RasterCodecs() Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_InvertRegion.bmp") Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_InvertNoRegion.bmp") ' Load the image Dim image As RasterImage = codecs.Load(srcFileName) ' The image should have no region Console.WriteLine("After loading, HasRegion = {0}", image.HasRegion) Debug.Assert((Not image.HasRegion)) ' Add a region to the image Dim rc As LeadRect = New LeadRect(0, 0, image.Width \ 4, image.Height \ 4) image.AddEllipseToRegion(Nothing, rc, RasterRegionCombineMode.Set) ' The image should have a region now Console.WriteLine("After AddEllipseToRegion, HasRegion = {0}", image.HasRegion) Debug.Assert(image.HasRegion) ' Invert this image and save it to a file Dim command As InvertCommand = New InvertCommand() command.Run(image) codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24) ' Get rid of the region image.MakeRegionEmpty() ' The image should not have a region now Console.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion) Debug.Assert((Not image.HasRegion)) ' Invert again and save it command.Run(image) codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24) image.Dispose() codecs.Dispose() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.WinForms; using Leadtools.Dicom; using Leadtools.Drawing; public void RegionExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); string destFileName1 = Path.Combine(ImagesPath.Path, "Image1_InvertRegion.bmp"); string destFileName2 = Path.Combine(ImagesPath.Path, "Image1_InvertNoRegion.bmp"); // Load the image RasterImage image = codecs.Load(srcFileName); // The image should have no region Console.WriteLine("After loading, HasRegion = {0}", image.HasRegion); Assert.IsTrue(!image.HasRegion); // Add a region to the image LeadRect rc = new LeadRect(0, 0, image.Width / 4, image.Height / 4); image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set); // The image should have a region now Console.WriteLine("After AddEllipseToRegion, HasRegion = {0}", image.HasRegion); Assert.IsTrue(image.HasRegion); // Invert this image and save it to a file InvertCommand command = new InvertCommand(); command.Run(image); codecs.Save(image, destFileName1, RasterImageFormat.Bmp, 24); // Get rid of the region image.MakeRegionEmpty(); // The image should not have a region now Console.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion); Assert.IsTrue(!image.HasRegion); // Invert again and save it command.Run(image); codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 24); image.Dispose(); codecs.Dispose(); }
RasterImageExamples.prototype.RegionExample = function ( ) { Tools.SetLicense ( ) ; with ( Leadtools) { with ( Leadtools.Codecs ){ var codecs = new RasterCodecs(); var srcFileName = "Assets\\Image1.cmp"; var destFileName1 = "Image1_InvertRegion.bmp"; var destFileName2 = "Image1_InvertNoRegion.bmp"; var image = null ; // Load the image return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(LeadStreamFactory.create(loadFile)); }) .then(function (img) { image = img; // The image should have no region console.info("After loading, HasRegion = ", image.hasRegion); console.assert(!image.HasRegion); // Add a region to the image var rc = LeadRectHelper.create(0, 0, image.width / 4, image.height / 4); image.addEllipseToRegion(null, rc, RasterRegionCombineMode.set); // The image should have a region now console.info("After AddEllipseToRegion, HasRegion = ", image.hasRegion); console.assert(image.hasRegion); // Invert this image and save it to a file var command = new Leadtools.ImageProcessing.Color.InvertCommand(); command.run(image); return Tools.AppLocalFolder().createFileAsync(destFileName1); }) .then(function (saveFile) { var saveStream = LeadStreamFactory.create(saveFile); return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24); }) .then(function () { // Get rid of the region image.makeRegionEmpty(); // The image should not have a region now console.info("After MakeRegionEmpty, HasRegion = ", image.hasRegion); console.assert(!image.hasRegion); // Invert again and save it var command = new Leadtools.ImageProcessing.Color.InvertCommand(); command.run(image); return Tools.AppLocalFolder().createFileAsync(destFileName2); }) .then(function (saveFile) { var saveStream = LeadStreamFactory.create(saveFile); return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24); }) .then(function () { image.close(); codecs.close(); }); } } }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.Dicom; public async Task RegionExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = @"Assets\Image1.cmp"; string destFileName1 = @"Image1_InvertRegion.bmp"; string destFileName2 = @"Image1_InvertNoRegion.bmp"; // Load the image StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // The image should have no region Debug.WriteLine("After loading, HasRegion = {0}", image.HasRegion); Assert.IsTrue(!image.HasRegion); // Add a region to the image LeadRect rc = LeadRectHelper.Create(0, 0, image.Width / 4, image.Height / 4); image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set); // The image should have a region now Debug.WriteLine("After AddEllipseToRegion, HasRegion = {0}", image.HasRegion); Assert.IsTrue(image.HasRegion); // Invert this image and save it to a file InvertCommand command = new InvertCommand(); command.Run(image); StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName1); ILeadStream saveStream = LeadStreamFactory.Create(saveFile); await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24); // Get rid of the region image.MakeRegionEmpty(); // The image should not have a region now Debug.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion); Assert.IsTrue(!image.HasRegion); // Invert again and save it command.Run(image); saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName2); saveStream = LeadStreamFactory.Create(saveFile); await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24); image.Dispose(); codecs.Dispose(); }
using Leadtools; using Leadtools.Codecs; using Leadtools.Dicom; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Core; using Leadtools.ImageProcessing.Color; using Leadtools.Examples; using Leadtools.Windows.Media; public void RegionExample(RasterImage image, Stream destStream1, Stream destStream2) { RasterCodecs codecs = new RasterCodecs(); // The image should have no region Debug.WriteLine("After loading, HasRegion = {0}", image.HasRegion); Debug.Assert(!image.HasRegion); // Add a region to the image LeadRect rc = new LeadRect(0, 0, image.Width / 4, image.Height / 4); image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Set); // The image should have a region now Debug.WriteLine("After AddRectangleToRegion, HasRegion = {0}", image.HasRegion); Debug.Assert(image.HasRegion); // Invert this image and save it to a file InvertCommand command = new InvertCommand(); command.Run(image); codecs.Save(image, destStream1, RasterImageFormat.Bmp, 0); // Get rid of the region image.MakeRegionEmpty(); // The image should not have a region now Debug.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion); Debug.Assert(!image.HasRegion); // Invert again and save it command.Run(image); codecs.Save(image, destStream2, RasterImageFormat.Bmp, 0); image.Dispose(); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Dicom Imports Leadtools.ImageProcessing Imports Leadtools.ImageProcessing.Core Imports Leadtools.ImageProcessing.Color Imports Leadtools.Windows.Media Public Sub RegionExample(ByVal image As RasterImage, ByVal destStream1 As Stream, ByVal destStream2 As Stream) Dim codecs As RasterCodecs = New RasterCodecs() ' The image should have no region Debug.WriteLine("After loading, HasRegion = {0}", image.HasRegion) Debug.Assert((Not image.HasRegion)) ' Add a region to the image Dim rc As LeadRect = New LeadRect(0, 0, image.Width / 4, image.Height / 4) image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Set) ' The image should have a region now Debug.WriteLine("After AddRectangleToRegion, HasRegion = {0}", image.HasRegion) Debug.Assert(image.HasRegion) ' Invert this image and save it to a file Dim command As InvertCommand = New InvertCommand() command.Run(image) codecs.Save(image, destStream1, RasterImageFormat.Bmp, 0) ' Get rid of the region image.MakeRegionEmpty() ' The image should not have a region now Debug.WriteLine("After MakeRegionEmpty, HasRegion = {0}", image.HasRegion) Debug.Assert((Not image.HasRegion)) ' Invert again and save it command.Run(image) codecs.Save(image, destStream2, RasterImageFormat.Bmp, 0) image.Dispose() End Sub