Leadtools.ImageProcessing Namespace : CreateGrayscaleImageCommand Class |
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
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.
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
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