Leadtools Namespace > RasterImage Class : RegionContains Method |
'Declaration Public Function RegionContains( _ ByVal row As Integer, _ ByVal col As Integer _ ) As Boolean
'Usage Dim instance As RasterImage Dim row As Integer Dim col As Integer Dim value As Boolean value = instance.RegionContains(row, col)
This method uses image coordinates to specify the pixel. Therefore, you must account for the view perspective of the image.
For more information, refer to Working with the Existing Region.
Public Sub RegionContainsExample() Dim codecs As RasterCodecs = New RasterCodecs() Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_RegionContains.bmp") ' Load the image Dim image As RasterImage = codecs.Load(srcFileName) ' Add an ellipse inside a rectangle region to the image Dim rc As LeadRect = New LeadRect(image.Width \ 3, image.Height \ 3, image.Width \ 3, image.Height \ 3) image.AddEllipseToRegion(Nothing, rc, RasterRegionCombineMode.Set) ' Loop through the image and turn all pixels in the region to double intensity Dim y As Integer = 0 Do While y < image.Height Dim x As Integer = 0 Do While x < image.Width If image.RegionContains(y, x) Then Dim clr As RasterColor = image.GetPixelColor(y, x) clr = New RasterColor(clr.R * 2, clr.G * 2, clr.B * 2) image.SetPixelColor(y, x, clr) End If x += 1 Loop y += 1 Loop codecs.Save(image, destFileName, 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
public void RegionContainsExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_RegionContains.bmp"); // Load the image RasterImage image = codecs.Load(srcFileName); // Add an ellipse inside a rectangle region to the image LeadRect rc = new LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3); image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set); // Loop through the image and turn all pixels in the region to double intensity for(int y = 0; y < image.Height; y++) { for(int x = 0; x < image.Width; x++) { if(image.RegionContains(y, x)) { RasterColor clr = image.GetPixelColor(y, x); clr = new RasterColor(clr.R * 2, clr.G * 2, clr.B * 2); image.SetPixelColor(y, x, clr); } } } codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24); image.Dispose(); codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
RasterImageExamples.prototype.RegionContainsExample = function () { Tools.SetLicense(); with (Leadtools) { with (Leadtools.Codecs) { var codecs = new RasterCodecs(); var srcFileName = "Assets\\Image1.cmp"; var destFileName = "Image1_RegionContains.bmp"; var image; // Load the image return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(LeadStreamFactory.create(loadFile)) }) .then(function (img) { image = img; // Add an ellipse inside a rectangle region to the image var rc = LeadRectHelper.create(image.width / 3, image.height / 3, image.width / 3, image.height / 3); image.addEllipseToRegion(null, rc, RasterRegionCombineMode.set); // Loop through the image and turn all pixels in the region to double intensity for (var y = 0; y < image.height; y++) { for (var x = 0; x < image.width; x++) { if (image.regionContains(y, x)) { var clr = image.getPixelColor(y, x); clr = RasterColorHelper.create(clr.r * 2, clr.g * 2, clr.b * 2); image.setPixelColor(y, x, clr); } } } 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 RegionContainsExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = @"Assets\Image1.cmp"; string destFileName = @"Image1_RegionContains.bmp"; // Load the image StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // Add an ellipse inside a rectangle region to the image LeadRect rc = LeadRectHelper.Create(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3); image.AddEllipseToRegion(null, rc, RasterRegionCombineMode.Set); // Loop through the image and turn all pixels in the region to double intensity for (int y = 0; y < image.Height; y++) { for (int x = 0; x < image.Width; x++) { if (image.RegionContains(y, x)) { RasterColor clr = image.GetPixelColor(y, x); clr = RasterColorHelper.Create(clr.R * 2, clr.G * 2, clr.B * 2); image.SetPixelColor(y, x, clr); } } } StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); ILeadStream saveStream = LeadStreamFactory.Create(saveFile); await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24); image.Dispose(); codecs.Dispose(); }
public void RegionContainsExample(Stream destStream) { // create a new image to work with RasterImage image = new RasterImage(RasterMemoryFlags.Conventional, 500, 500, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, null, 0); // Add a rectangle region to the image LeadRect rc = new LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3); image.AddRectangleToRegion(null, rc, RasterRegionCombineMode.Set); // Loop through the image and turn all pixels in the region to double intensity for (int y = 0; y < image.Height; y++) { for (int x = 0; x < image.Width; x++) { if (image.RegionContains(y, x)) { RasterColor clr = image.GetPixelColor(y, x); clr = new RasterColor(clr.R * 2, clr.G * 2, clr.B * 2); image.SetPixelColor(y, x, clr); } } } RasterCodecs codecs = new RasterCodecs(); codecs.Save(image, destStream, RasterImageFormat.Bmp, 0); image.Dispose(); }
Public Sub RegionContainsExample(ByVal destStream As Stream)
' create a new image to work with
Dim image As RasterImage = New RasterImage(RasterMemoryFlags.Conventional, 500, 500, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, Nothing, Nothing, 0)
' Add a rectangle region to the image
Dim rc As LeadRect = New LeadRect(image.Width / 3, image.Height / 3, image.Width / 3, image.Height / 3)
image.AddRectangleToRegion(Nothing, rc, RasterRegionCombineMode.Set)
' Loop through the image and turn all pixels in the region to double intensity
Dim y As Integer = 0
Do While y < image.Height
Dim x As Integer = 0
Do While x < image.Width
If image.RegionContains(y, x) Then
Dim clr As RasterColor = image.GetPixelColor(y, x)
clr = New RasterColor(clr.R * 2, clr.G * 2, clr.B * 2)
image.SetPixelColor(y, x, clr)
End If
x += 1
Loop
y += 1
Loop
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, destStream, RasterImageFormat.Bmp, 0)
image.Dispose()
End Sub
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