Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
CreateGrayscaleImageCommand Class
See Also  Members   Example 
Leadtools.ImageProcessing Namespace : CreateGrayscaleImageCommand Class



Converts a 1-, 4-, 8-, 16-, 24-, or 32-bit RasterImage to an 8-bit, 12-bit, or 16-bit grayscale image.

Object Model


Syntax

Visual Basic (Declaration) 
Public Class CreateGrayscaleImageCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As CreateGrayscaleImageCommand
C# 
public class CreateGrayscaleImageCommand : RasterCommand, IRasterCommand  
C++/CLI 
public ref class CreateGrayscaleImageCommand : public RasterCommand, IRasterCommand  

Example

This example loads an image and changes it to 16-bit grayscale.

Visual BasicCopy Code
Public Sub CreateGrayscaleImageCommandExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()

   Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
   Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_CreateGrayscaleImage.bmp"

   ' Load the source image from disk
   Dim srcImage As RasterImage = codecs.Load(srcFileName)

   ' Create a grayscale image
   Dim cmd As New CreateGrayscaleImageCommand()
   cmd.BitsPerPixel = 16
   cmd.LowBit = 0
   cmd.HighBit = 15
   cmd.Run(srcImage)

   Dim destImage As RasterImage = cmd.DestinationImage

   ' Save the image to disk
   codecs.Save( _
      destImage, _
      destFileName, _
      RasterImageFormat.Bmp, _
      16)

   ' Clean up
   destImage.Dispose()
   srcImage.Dispose()
   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void CreateGrayscaleImageCommandExample() 

   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"; 
   string destFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_CreateGrayscaleImage.bmp"; 
 
   // Load the source image from disk 
   RasterImage srcImage = codecs.Load(srcFileName); 
 
   // Create a grayscale image 
   CreateGrayscaleImageCommand cmd = new CreateGrayscaleImageCommand(); 
   cmd.BitsPerPixel = 16; 
   cmd.LowBit = 0; 
   cmd.HighBit = 15; 
   cmd.Run(srcImage); 
 
   RasterImage destImage = cmd.DestinationImage; 
 
   // Save the image to disk 
   codecs.Save( 
      destImage, 
      destFileName, 
      RasterImageFormat.Bmp, 
      16); 
 
   // Clean up 
   destImage.Dispose(); 
   srcImage.Dispose(); 
   RasterCodecs.Shutdown(); 
}

Remarks

The CreateGrayscaleImageCommand command works by creating a new image in the DestinationImage property from the image passed to the RasterCommand.Run method.

The destination image will have either 8, 12, or 16 bits/pixel grayscale values.

When converting to 12-bit or 16-bit grayscale, a Lookup table (LUT) is not used. When converting to 8-bit grayscale, a LUT is used to get the RGB for each input pixel. The grayscale value corresponding to that RGB triple is used in the destination image

LowBit and HighBit are used when converting to 12-bit or 16-bit grayscale, So the appropriate values must set before calling the RasterCommand.Run method.

This command does not support 32-bit grayscale images.

This command does not support signed images.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.CreateGrayscaleImageCommand

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also