Leadtools.ImageProcessing.Color Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.10
GrayScaleToMultitoneCommand Class
See Also  Members   Example 




Converts a grayscale image into a colored one by mixing or replacing the original values of the pixels with one or more new colors. This class is available in the Raster Pro and above toolkits.

Syntax

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

Example

Visual BasicCopy Code
ImageProcessing.Color.GrayScaleToMultitoneCommand
   Public Sub GrayScaleToMultitoneCommandExample()
      RasterCodecs.Startup()
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim leadImage As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg")

      ' Prepare the command
      Dim Colors() As RasterColor
      ReDim Colors(1)

      Dim command As GrayScaleToMultitoneCommand = New GrayScaleToMultitoneCommand
      command.Colors = Colors
      command.Colors(0).R = 255
      command.Colors(0).G = 255
      command.Colors(0).B = 0
      command.Colors(1).R = 255
      command.Colors(1).G = 0
      command.Colors(1).B = 0
      command.Gradient = Nothing
      command.Distribution = GrayScaleToMultitoneCommandDistributionType.Linear
      command.Tone = GrayScaleToMultitoneCommandToneType.Duotone
      command.Type = GrayScaleToDuotoneCommandMixingType.ReplaceOldWithNew
      command.Run(leadImage)
      codecs.Save(leadImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24)

      RasterCodecs.Shutdown()
   End Sub
C#Copy Code
ImageProcessing.Color.GrayScaleToMultitoneCommand 
      public void GrayScaleToMultitoneCommandExample() 
      { 
         // Load an image 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = true; 
 
         RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg"); 
 
         // Prepare the command 
         GrayScaleToMultitoneCommand command = new GrayScaleToMultitoneCommand(); 
         command.Colors = new RasterColor[2]; 
         command.Colors[0].R = 255; 
         command.Colors[0].G = 255; 
         command.Colors[0].B = 0; 
         command.Colors[1].R = 255; 
         command.Colors[1].G = 0; 
         command.Colors[1].B = 0; 
         command.Gradient = null; 
         command.Distribution = GrayScaleToMultitoneCommandDistributionType.Linear; 
         command.Tone = GrayScaleToMultitoneCommandToneType.Duotone; 
         command.Type  = GrayScaleToDuotoneCommandMixingType.ReplaceOldWithNew; 
         command.Run(image); 
         codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24); 
 
         RasterCodecs.Shutdown(); 
      }

Remarks

  • This class was designed for use with grayscale images. If the image being used is not grayscale, this class only affects those pixels or areas of the image where Red = Green = Blue.
  • Monotone conversion is possible by setting Type to Replace, which clears the palette.
  • This class gives you the option of having the toolkit generate the array of colors to use or creating the array of colors to use yourself.
  • To have the toolkit generate the array of colors:
    • If the image is binary, call GrayScaleToMultitoneCommand with Tone set to GrayScaleToMultitoneCommandToneType.MonoTone, Distribution set to GrayScaleToMultitoneCommandDistributionType.Linear and the color you wish to use set in Color. The GrayscaleMode property will be set by GrayScaleToDuotoneCommand class object to determine the kind of grayscale palette being used. If the GrayscaleMode property is GrayscaleMode.OrderedInverse or GrayscaleMode.NotOrdered, then the color set in the Color property for the GrayScaleToMultitoneCommand class object will become the first color in the array generated by the toolkit, and the toolkit will create the second color in the array. The Color array will be updated with these two colors. If the GrayscaleMode property is a value other than GrayscaleMode.OrderedInverse or GrayscaleMode.NotOrdered, then the color set in the Color property for the GrayScaleToMultitoneCommand class object will become the second color in the array generated by the toolkit, and the toolkit will create the first color in the array. The Color property will be updated with these two colors.
    • If the image is grayscale (not binary) call the GrayScaleToMultitoneCommand with Distribution set to GrayScaleToMultitoneCommandDistributionType.Linear. The GrayScaleToMultitoneCommand will take the color(s) set in the Color property and generate a 256 color gradient for each color.
      1. If the Tone is set to GrayScaleToMultitoneCommandToneType.Duotone, set two colors in the Color property. The toolkit will create a 256 color array for each color.
      2. If the Tone is set to GrayScaleToMultitoneCommandToneType.Tritone, set three colors in the Color property. The toolkit will create a 256 color array for each color.
      3. If the Tone is set to GrayScaleToMultitoneCommandToneType.Quadtone, set four colors in the Color property. The toolkit will create a 256 color array for each color.
    • If the image is not grayscale (it is color) call the GrayScaleToMultitoneCommand with Distribution set to GrayScaleToMultitoneCommandDistributionType.Linear. The GrayScaleToMultitoneCommand will take the color(s) set in the Color property and generate a 256 color gradient for each color. These colors will be used to change only those pixels in the color image for which Red = Green = Blue.
  • To use a user-defined array of colors:
  • This class supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
  • This class does not support signed data images.
  • This command does not support 32-bit grayscale images.
For more information, refer to Processing an Image.
For more information, refer to Grayscale Images.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Color.GrayScaleToMultitoneCommand

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also