Leadtools Namespace > RasterRegion Class : IsVisible Method |
'Usage Dim instance As RasterRegion Dim point As LeadPoint Dim value As Boolean value = instance.IsVisible(point)
function Leadtools.RasterRegion.IsVisible( point )
Public Sub RasterRegionIsVisibleExample() 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_IsVisibleRegion.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(image.ImageWidth \ 3, image.ImageHeight \ 3, image.ImageWidth \ 3, image.ImageHeight \ 3), RasterRegionCombineMode.Set) ' Get the region Using region As RasterRegion = image.GetRegion(Nothing) ' Remove the region from the image image.MakeRegionEmpty() ' Loop the image pixels, if it is inside the region, switch ' the red and blue component of the pixel color For y As Integer = 0 To image.Height - 1 For x As Integer = 0 To image.Width - 1 ' Check if this pixel is inside the region If (region.IsVisible(New LeadPoint(x, y))) Then ' Yes, flip its R and B component Dim color As RasterColor = image.GetPixelColor(y, x) color = New RasterColor(color.B, color.G, color.R) image.SetPixelColor(y, x, color) End If Next Next End Using 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 RasterRegionIsVisibleExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_IsVisibleRegion.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(image.ImageWidth / 3, image.ImageHeight / 3, image.ImageWidth / 3, image.ImageHeight / 3), RasterRegionCombineMode.Set); // Get the region using(RasterRegion region = image.GetRegion(null)) { // Remove the region from the image image.MakeRegionEmpty(); // Loop the image pixels, if it is inside the region, switch // the red and blue component of the pixel color for(int y = 0; y < image.Height; y++) { for(int x = 0; x < image.Width; x++) { // Check if this pixel is inside the region if(region.IsVisible(new LeadPoint(x, y))) { // Yes, flip its R and B component RasterColor color = image.GetPixelColor(y, x); color = new RasterColor(color.B, color.G, color.R); image.SetPixelColor(y, x, color); } } } } 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.RasterRegionIsVisibleExample = function () { Tools.SetLicense(); with (Leadtools) { with (Leadtools.Codecs) { var codecs = new RasterCodecs(); var srcFileName = "Assets\\Image1.cmp"; var destFileName = "Image1_IsVisibleRegion.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(image.imageWidth / 3, image.imageHeight / 3, image.imageWidth / 3, image.imageHeight / 3), RasterRegionCombineMode.set); // Get the region var region = image.getRegion(null); // Remove the region from the image image.makeRegionEmpty(); // Loop the image pixels, if it is inside the region, switch // the red and blue component of the pixel color for (var y = 0; y < image.height; y++) { for (var x = 0; x < image.width; x++) { // Check if this pixel is inside the region if (region.isVisible(LeadPointHelper.create(x, y))) { // Yes, flip its R and B component var color = image.getPixelColor(y, x); color = RasterColorHelper.create(color.b, color.g, color.r); image.setPixelColor(y, x, color); } } } region.close(); return Tools.AppLocalFolder().createFileAsync(destFileName) }) .then(function (saveFile) { var saveStream = LeadStreamFactory.create(saveFile); return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 0) }) .then(function () { image.close(); codecs.close(); }); } } }
[TestMethod] public async Task RasterRegionIsVisibleExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = @"Assets\Image1.cmp"; string destFileName = "Image1_IsVisibleRegion.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(image.ImageWidth / 3, image.ImageHeight / 3, image.ImageWidth / 3, image.ImageHeight / 3), RasterRegionCombineMode.Set); // Get the region using (RasterRegion region = image.GetRegion(null)) { // Remove the region from the image image.MakeRegionEmpty(); // Loop the image pixels, if it is inside the region, switch // the red and blue component of the pixel color for (int y = 0; y < image.Height; y++) { for (int x = 0; x < image.Width; x++) { // Check if this pixel is inside the region if (region.IsVisible(LeadPointHelper.Create(x, y))) { // Yes, flip its R and B component RasterColor color = image.GetPixelColor(y, x); color = RasterColorHelper.Create(color.B, color.G, color.R); image.SetPixelColor(y, x, color); } } } } 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