LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

CreateGrayscaleImageCommand Class

Example 





Members 
Converts a 1-, 4-, 8-, 16-, 24-, or 32-bit Leadtools.RasterImage to an 8-bit, 12-bit, or 16-bit grayscale image. .NET support Silverlight support WinRT support
Object Model
CreateGrayscaleImageCommand ClassRasterImage Class
Syntax
public class CreateGrayscaleImageCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class CreateGrayscaleImageCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As CreateGrayscaleImageCommand
public sealed class CreateGrayscaleImageCommand : IRasterCommand  
function Leadtools.ImageProcessing.CreateGrayscaleImageCommand()
public ref class CreateGrayscaleImageCommand : public RasterCommand, IRasterCommand  
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.

Example
 
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
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";
}
RasterCommandExamples.prototype.CreateGrayscaleImageCommandExample = function ( ) 
{
    Tools.SetLicense ( ) ;
    with (Leadtools) {
        with (Leadtools.Codecs) {
            with (Leadtools.ImageProcessing) {
                var codecs = new RasterCodecs();

                var srcFileName = "Assets\\Image1.cmp";
                var destFileName = "Image1_CreateGrayscaleImage.bmp";
                var srcImage;
                var destImage;
                // Load the source image from disk
                return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
            .then(function (img) {
                srcImage = img;
                // Create a grayscale image
                var cmd = new CreateGrayscaleImageCommand();
                cmd.bitsPerPixel = 16;
                cmd.lowBit = 0;
                cmd.highBit = 15;
                cmd.run(srcImage);

                destImage = cmd.destinationImage;

                // Save the image to disk
                return Tools.AppLocalFolder().createFileAsync(destFileName)
            })
            .then(function (saveFile) {
                return codecs.saveAsync(destImage, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 16)
            })
            .then(function () {

                // Clean up
                destImage.close();
                srcImage.close();
                codecs.close();
            });
            }
        }
    }
}
[TestMethod]
public async Task CreateGrayscaleImageCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"Image1_CreateGrayscaleImage.bmp";

   // Load the source image from disk
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage srcImage = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // 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
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(destImage, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 16);

   // Clean up
   destImage.Dispose();
   srcImage.Dispose();
}
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();
}
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
Requirements

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

See Also

Reference

CreateGrayscaleImageCommand Members
Leadtools.ImageProcessing Namespace
Introduction to Image Processing With LEADTOOLS
Grayscale Images
Leadtools.Drawing.RasterPaintCallbacks
Implementing custom paint

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.