LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
CreateAlphaImage Method
See Also 
Leadtools Namespace > RasterImage Class : CreateAlphaImage Method



Creates a grayscale image from this RasterImage alpha channel data. Supported in Silverlight, Windows Phone 7

Syntax

Visual Basic (Declaration) 
Public Function CreateAlphaImage() As RasterImage
Visual Basic (Usage)Copy Code
Dim instance As RasterImage
Dim value As RasterImage
 
value = instance.CreateAlphaImage()
C# 
public RasterImage CreateAlphaImage()
C++/CLI 
public:
RasterImage^ CreateAlphaImage(); 

Return Value

The newly create image, which contains the source image alpha channel data.

Example

Visual BasicCopy Code
Public Sub CreateAlphaImageExample()
      Dim codecs As RasterCodecs = New RasterCodecs()
      ' Load the image, at 16 bit per pixel.
      Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"), 16, CodecsLoadByteOrder.Bgr, 1, 1)

      ' Specify a rectangle to define the region.
      Dim EllipseRectangle As LeadRect = New LeadRect(image.Width \ 8, image.Height \ 8, image.Width \ 2, image.Height \ 2)

      ' Create an elliptical region in the AlphaImage.
      image.AddEllipseToRegion(Nothing, EllipseRectangle, RasterRegionCombineMode.Set)

      ' Create a mask image from the region.
      Dim alphaImage As RasterImage = image.CreateMaskFromRegion()

      ' Update the alpha channel in the main image.
      image.SetAlphaImage(alphaImage)

      ' Save the image at 16 bits per pixel to keep the alpha channel.
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "TestAlpha.TIF"), RasterImageFormat.Tif, 24, 1, 1, 1, CodecsSavePageMode.Overwrite)

      ' Load the bitmap that we just saved and get its alpha channel.
      image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "TestAlpha.TIF"), 16, CodecsLoadByteOrder.Bgr, 1, 1)

      alphaImage = image.CreateAlphaImage()

      ' Use the AlphaBitmap as a mask to set the region in the MainBitmap.
      image.AddMaskToRegion(Nothing, alphaImage, RasterRegionCombineMode.Set)

      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#Copy Code
public void CreateAlphaImageExample()
   {
      RasterCodecs codecs = new RasterCodecs();
      // Load the image, at 16 bit per pixel.
      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"), 16, CodecsLoadByteOrder.Bgr, 1, 1);

      // Specify a rectangle to define the region.
      LeadRect ellipseRectangle = new LeadRect(image.Width / 8, image.Height / 8, image.Width / 2, image.Height / 2);

      // Create an elliptical region in the AlphaImage.
      image.AddEllipseToRegion(null, ellipseRectangle, RasterRegionCombineMode.Set);

      // Create a mask image from the region.
      RasterImage alphaImage = image.CreateMaskFromRegion();

      // Update the alpha channel in the main image.
      image.SetAlphaImage(alphaImage);

      // Save the image at 16 bits per pixel to keep the alpha channel.
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "TestAlpha.TIF"), RasterImageFormat.Tif, 24, 1, 1, 1, CodecsSavePageMode.Overwrite);

      // Load the bitmap that we just saved and get its alpha channel.
      image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"TestAlpha.TIF"), 16, CodecsLoadByteOrder.Bgr, 1, 1);

      alphaImage = image.CreateAlphaImage();

      // Use the AlphaBitmap as a mask to set the region in the MainBitmap.
      image.AddMaskToRegion(null, alphaImage, RasterRegionCombineMode.Set);

      image.Dispose();
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void CreateAlphaImageExample(RasterImage image, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   // Specify a rectangle to define the region.
   LeadRect EllipseRectangle = new LeadRect(image.Width / 8, image.Height / 8, image.Width / 2, image.Height / 2);

   // Create a region in the AlphaImage.
   image.AddRectangleToRegion(null, EllipseRectangle, RasterRegionCombineMode.Set);

   // Create a mask image from the region.
   RasterImage alphaImage = image.CreateMaskFromRegion();

   // Update the alpha channel in the main image.
   image.SetAlphaImage(alphaImage);

   // Save the image at 16 bits per pixel to keep the alpha channel.
   codecs.Save(image, destStream, RasterImageFormat.Tif, 24, 1, 1, 1, CodecsSavePageMode.Overwrite);

   // Load the bitmap that we just saved and get its alpha channel.
   image = codecs.Load(destStream, 16, CodecsLoadByteOrder.Bgr, 1, 1);

   alphaImage = image.CreateAlphaImage();

   // Use the AlphaBitmap as a mask to set the region in the MainBitmap.
   image.AddMaskToRegion(null, alphaImage, RasterRegionCombineMode.Set);

   image.Dispose();
}
SilverlightVBCopy Code
Public Sub CreateAlphaImageExample(ByVal image As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Specify a rectangle to define the region.
   Dim EllipseRectangle As LeadRect = New LeadRect(image.Width / 8, image.Height / 8, image.Width / 2, image.Height / 2)

   ' Create a region in the AlphaImage.
   image.AddRectangleToRegion(Nothing, EllipseRectangle, RasterRegionCombineMode.Set)

   ' Create a mask image from the region.
   Dim alphaImage As RasterImage = image.CreateMaskFromRegion()

   ' Update the alpha channel in the main image.
   image.SetAlphaImage(alphaImage)

   ' Save the image at 16 bits per pixel to keep the alpha channel.
   codecs.Save(image, destStream, RasterImageFormat.Tif, 24, 1, 1, 1, CodecsSavePageMode.Overwrite)

   ' Load the bitmap that we just saved and get its alpha channel.
   image = codecs.Load(destStream, 16, CodecsLoadByteOrder.Bgr, 1, 1)

   alphaImage = image.CreateAlphaImage()

   ' Use the AlphaBitmap as a mask to set the region in the MainBitmap.
   image.AddMaskToRegion(Nothing, alphaImage, RasterRegionCombineMode.Set)

   image.Dispose()
End Sub

Remarks

Only 16-, 32-, and 64-bit images can have an alpha channel. If the source image has another color resolution, the result is an image filled with zeros.

Typically, the alpha channel contains a mask that is used for transparency.

For more information, refer to Implementing Transparency.

For more information, refer to Grayscale Images.

For more information, refer to Saving A Region.

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7

See Also