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 |
This example loads an image and changes it to 16-bit grayscale.
Visual Basic | Copy 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"; } |
SilverlightCSharp | Copy 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(); } |
SilverlightVB | Copy 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 |
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.
System.Object
Leadtools.ImageProcessing.RasterCommand
Leadtools.ImageProcessing.CreateGrayscaleImageCommand
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