LEADTOOLS (Leadtools assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
CreateGrayscaleImageCommand Class
See Also  Members  
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. Supported in Silverlight, Windows Phone 7

Object Model

CreateGrayscaleImageCommand ClassRasterImage Class

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()
      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_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()
   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 CreateGrayscaleImageCommandExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
public void CreateGrayscaleImageCommandExample(RasterImage srcImage, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   // 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,
      destStream,
      RasterImageFormat.Bmp,
      16);

   // Clean up
   destImage.Dispose();
   srcImage.Dispose();
}
SilverlightVBCopy Code
Public Sub CreateGrayscaleImageCommandExample(ByVal srcImage As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Create a grayscale image
   Dim cmd As CreateGrayscaleImageCommand = 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, destStream, RasterImageFormat.Bmp, 16)

   ' Clean up
   destImage.Dispose()
   srcImage.Dispose()
End Sub

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: 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