←Select platform

CreateMaskFromRegion Method

Summary

Creates a 1-bit mask image from the region that is defined in the image.

Syntax
C#
VB
Objective-C
C++
Java
public RasterImage CreateMaskFromRegion() 
Public Function CreateMaskFromRegion() As RasterImage 
- (nullable LTRasterImage *)createMaskFromRegion:(NSError **)error 
public RasterImage createMaskFromRegion() 
public: 
RasterImage^ CreateMaskFromRegion();  

Return Value

The newly created RasterImage which will be updated with a 1-bit, black-and-white image, where pixels from the region are white, and all others are black.

Remarks

For more information, refer to Implementing Transparency.

For more information, refer to Creating a Region.

For more information, refer to Saving A Region.

For more information, refer to Working with the Existing Region.

Example

This example will load an image, sets a color region using black, and then creates a 1-bit mask image from that image and saves it to disk.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using LeadtoolsExamples.Common; 
using Leadtools.Svg; 
 
public void CreateMaskFromRegionExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_CreateMaskFromRegion.bmp"); 
 
   // Load the image 
   RasterImage image = codecs.Load(srcFileName); 
 
   // Posterize the image to decrease the number of colors 
   PosterizeCommand posterize = new PosterizeCommand(16); 
   posterize.Run(image); 
 
   // Specify a pixel in the upper left of the displayed image 
   LeadPoint pt = new LeadPoint(image.ImageWidth / 8, image.ImageHeight / 8); 
 
   // Adjust the point in case the view perspective is not TopLeft 
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt); 
 
   // Get the color of the specified pixel 
   RasterColor regionColor = image.GetPixelColor(pt.Y, pt.X); 
 
   // Create a region that includes all pixels of that color 
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set); 
 
   RasterImage maskImage = image.CreateMaskFromRegion(); 
 
   codecs.Save(maskImage, destFileName, RasterImageFormat.Bmp, 1); 
 
   maskImage.Dispose(); 
   image.Dispose(); 
   codecs.Dispose(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Controls 
Imports Leadtools.Dicom 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
Public Sub CreateMaskFromRegionExample() 
   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_CreateMaskFromRegion.bmp") 
 
   ' Load the image 
   Dim image As RasterImage = codecs.Load(srcFileName) 
 
   ' Posterize the image to decrease the number of colors 
   Dim posterize As PosterizeCommand = New PosterizeCommand(16) 
   posterize.Run(image) 
 
   ' Specify a pixel in the upper left of the displayed image 
   Dim pt As LeadPoint = New LeadPoint(image.ImageWidth \ 8, image.ImageHeight \ 8) 
 
   ' Adjust the point in case the view perspective is not TopLeft 
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt) 
 
   ' Get the color of the specified pixel 
   Dim regionColor As RasterColor = image.GetPixelColor(pt.Y, pt.X) 
 
   ' Create a region that includes all pixels of that color 
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set) 
 
   Dim maskImage As RasterImage = image.CreateMaskFromRegion() 
 
   codecs.Save(maskImage, destFileName, RasterImageFormat.Bmp, 1) 
 
   maskImage.Dispose() 
   image.Dispose() 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
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 CreateMaskFromRegionExample(RasterImage image, Stream destStream) 
{ 
   // Posterize the image to decrease the number of colors 
   PosterizeCommand posterize = new PosterizeCommand(16); 
   posterize.Run(image); 
 
   // Specify a pixel in the upper left of the displayed image 
   LeadPoint pt = new LeadPoint(image.ImageWidth / 8, image.ImageHeight / 8); 
 
   // Adjust the point in case the view perspective is not TopLeft 
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt); 
 
   // Get the color of the specified pixel 
   RasterColor regionColor = image.GetPixelColor(pt.Y, pt.X); 
 
   // Create a region that includes all pixels of that color 
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set); 
 
   RasterImage maskImage = image.CreateMaskFromRegion(); 
 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Save(maskImage, destStream, RasterImageFormat.Png, 0); 
 
   maskImage.Dispose(); 
   image.Dispose(); 
} 
vb[Silverlight VB Example] 
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 CreateMaskFromRegionExample(ByVal image As RasterImage, ByVal destStream As Stream) 
   ' Posterize the image to decrease the number of colors 
   Dim posterize As PosterizeCommand = New PosterizeCommand(16) 
   posterize.Run(image) 
 
   ' Specify a pixel in the upper left of the displayed image 
   Dim pt As LeadPoint = New LeadPoint(image.ImageWidth / 8, image.ImageHeight / 8) 
 
   ' Adjust the point in case the view perspective is not TopLeft 
   pt = image.PointToImage(RasterViewPerspective.TopLeft, pt) 
 
   ' Get the color of the specified pixel 
   Dim regionColor As RasterColor = image.GetPixelColor(pt.Y, pt.X) 
 
   ' Create a region that includes all pixels of that color 
   image.AddColorToRegion(regionColor, RasterRegionCombineMode.Set) 
 
   Dim maskImage As RasterImage = image.CreateMaskFromRegion() 
 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Save(maskImage, destStream, RasterImageFormat.Png, 0) 
 
   maskImage.Dispose() 
   image.Dispose() 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly