To have the toolkit generate the array of 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.
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:
If the image is grayscale (not binary) call GrayScaleToMultitoneCommand with Distribution set to GrayScaleToMultitoneCommandDistributionType.UserDefined.
If the image is not grayscale (it is color) call GrayScaleToMultitoneCommand with Distribution set to GrayScaleToMultitoneCommandDistributionType.UserDefined. (See the expanded explanation in i, ii and iii of (b) above.) These colors will be used to change only those pixels in the color image for which Red = Green = Blue.
For more information, refer to Introduction to Image Processing With LEADTOOLS. For more information, refer to Grayscale Images.
Gray Scale to Multitone Function - Before
Gray Scale to Multitone Function - After
View additional platform support for this Gray Scale to Multitone function.
Run the GrayScaleToMultitoneCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
public void GrayScaleToMultitoneCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Beauty16.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, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}