Leadtools.ImageProcessing.Color Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
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  
C++/CLI 
public ref class GrayScaleToMultitoneCommand : public RasterCommand, IRasterCommand  

Example

Run the GrayScaleToMultitoneCommand on an image.

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

   Dim leadImage As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "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, LeadtoolsExamples.Common.ImagesPath.Path + "Result.jpg", RasterImageFormat.Jpeg, 24)

   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void GrayScaleToMultitoneCommandExample() 

   // Load an image 
   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "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, LeadtoolsExamples.Common.ImagesPath.Path + "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 Introduction to Image Processing With LEADTOOLS.
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