←Select platform

ColorizeGrayCommandData Class

Summary

The ColorizeGrayCommandData class contains information about gray color intensities (Threshold) and the associated colors (Color) used in the coloration methods of the ColorizeGrayCommand class.

Syntax

C#
VB
Java
Objective-C
WinRT C#
C++
public class ColorizeGrayCommandData
Public Class ColorizeGrayCommandData
public sealed class ColorizeGrayCommandData
@interface LTColorizeGrayCommandData : NSObject
public class ColorizeGrayCommandData
function Leadtools.ImageProcessing.Core.ColorizeGrayCommandData()
public ref class ColorizeGrayCommandData

Remarks
  • The ColorizeGrayCommand class uses an array of ColorizeGrayCommand class objects with its length being a user-defined number. If the array has N entries, then:
Intensity Range Color
0 ~ Threshold[0] Color[0]
Threshold[0] ~ Threshold[1] Color[1]
Threshold[1] ~ Threshold[2] Color[2]
... ...
Threshold[N - 3] ~ Threshold[N - 2] Color[N - 2]
Threshold[N - 2] ~ Threshold[N - 1] Color[N - 1]
  • Notice that the Threshold[N-1] value will be ignored and instead will be treated as a value equal to 255, 4095 and 65535 for 8, 12 and 16-bit images respectively.
  • Although it is not a requirement, it is recommended that Threshold[0] is less than Threshold[1], which is less than Threshold[2], ..., which is less than Threshold[N-1]. Consider the following example with a ColorizeGrayCommandData class of 4 entries for a 12-Bit gray image, where this recommendation is not followed:
Threshold[0] = 1000 Color[0] is Red
Threshold[1] = 3000 Color[1] is Green
Threshold[2] = 2000 // Notice the threshold here. Color[2] is Blue
Threshold[3] = 4000 Color[3] is Yellow
  • In this case, pixel intensities from 0 to 1000 will be Red, pixels 1001 to 3000 will be Green, pixels 3001 to 4000 will be Yellow, and pixels from 4001 to the last possible intensity will be Yellow too.

For more information, refer to Correcting Colors.

Example

This example loads a 16-bit grayscale image and then colors it.

C#
VB
WinRT C#
Silverlight C#
Silverlight VB
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
    
Public Sub ColorizeGrayCommandDataExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\Beauty16.jpg")) 
 
   ' Prepare the command 
   Dim i As Integer 
   Dim pGrayColors() As ColorizeGrayCommandData 
   ReDim pGrayColors(5) 
 
   For i = 0 To 5 
      pGrayColors(i) = New ColorizeGrayCommandData 
   Next 
 
   pGrayColors(0).Threshold = 9999 
   pGrayColors(1).Threshold = 19999 
   pGrayColors(2).Threshold = 29999 
   pGrayColors(3).Threshold = 39999 
   pGrayColors(4).Threshold = 49999 
   pGrayColors(5).Threshold = 59999 
 
   pGrayColors(0).Color = New RasterColor(255, 0, 0) 
   pGrayColors(1).Color = New RasterColor(0, 255, 0) 
   pGrayColors(2).Color = New RasterColor(0, 0, 255) 
   pGrayColors(3).Color = New RasterColor(0, 255, 255) 
   pGrayColors(4).Color = New RasterColor(255, 0, 255) 
   pGrayColors(5).Color = New RasterColor(255, 255, 0) 
 
   Dim command As ColorizeGrayCommand = New ColorizeGrayCommand 
   command.GrayColors = pGrayColors 
   'Call the command 
   command.Run(leadImage) 
 
   ' Save the resulted Image 
   codecs.Save(command.DestinationImage, Path.Combine(LEAD_VARS.ImagesDir, "ColorizeGrayResult.Bmp"), RasterImageFormat.Bmp, 24) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
       
public void ColorizeGrayCommandDataExample() 
{ 
   // 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 
   ColorizeGrayCommandData[] pGrayColors = new ColorizeGrayCommandData[6]; 
   for (int i = 0; i < 6; i++) 
      pGrayColors[i] = new ColorizeGrayCommandData(); 
   pGrayColors[0].Threshold   = 9999; 
   pGrayColors[1].Threshold   = 19999; 
   pGrayColors[2].Threshold   = 29999; 
   pGrayColors[3].Threshold   = 39999; 
   pGrayColors[4].Threshold   = 49999; 
   pGrayColors[5].Threshold   = 59999; 
 
   pGrayColors[0].Color       = new RasterColor(255, 0, 0); 
   pGrayColors[1].Color       = new RasterColor(0, 255, 0); 
   pGrayColors[2].Color       = new RasterColor(0, 0, 255); 
   pGrayColors[3].Color       = new RasterColor(0, 255, 255); 
   pGrayColors[4].Color       = new RasterColor(255, 0, 255); 
   pGrayColors[5].Color       = new RasterColor(255, 255, 0); 
 
   ColorizeGrayCommand command = new ColorizeGrayCommand(); 
   command.GrayColors = pGrayColors; 
   //Call the command 
   command.Run(image); 
 
   // Save the resulted image 
   codecs.Save(command.DestinationImage, Path.Combine(LEAD_VARS.ImagesDir, "ColorizeGrayResult.Bmp"), RasterImageFormat.Bmp, 24); 
 
} 
 
static class LEAD_VARS 
{ 
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
       
public async Task ColorizeGrayCommandDataExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   // Load the image 
   string srcFileName = @"Assets\Beauty16.jpg"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   ColorizeGrayCommandData[] pGrayColors = new ColorizeGrayCommandData[6]; 
   for (int i = 0; i < 6; i++) 
      pGrayColors[i] = new ColorizeGrayCommandData(); 
   pGrayColors[0].Threshold   = 9999; 
   pGrayColors[1].Threshold   = 19999; 
   pGrayColors[2].Threshold   = 29999; 
   pGrayColors[3].Threshold   = 39999; 
   pGrayColors[4].Threshold   = 49999; 
   pGrayColors[5].Threshold   = 59999; 
 
   pGrayColors[0].Color       = RasterColorHelper.Create(255, 0, 0); 
   pGrayColors[1].Color       = RasterColorHelper.Create(0, 255, 0); 
   pGrayColors[2].Color       = RasterColorHelper.Create(0, 0, 255); 
   pGrayColors[3].Color       = RasterColorHelper.Create(0, 255, 255); 
   pGrayColors[4].Color       = RasterColorHelper.Create(255, 0, 255); 
   pGrayColors[5].Color       = RasterColorHelper.Create(255, 255, 0); 
 
   ColorizeGrayCommand command = new ColorizeGrayCommand(); 
   command.GrayColors = pGrayColors; 
   //Call the command 
   command.Run(image); 
 
   // Save the resulted image 
   string destFileName = @"ColorizeGrayResult.bmp"; 
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); 
   await codecs.SaveAsync(command.DestinationImage, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24); 
} 
using Leadtools; 
using Leadtools.Examples; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
 
public void ColorizeGrayCommandDataExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   ColorizeGrayCommandData[] pGrayColors = new ColorizeGrayCommandData[6]; 
   for (int i = 0; i < 6; i++) 
      pGrayColors[i] = new ColorizeGrayCommandData(); 
   pGrayColors[0].Threshold   = 9999; 
   pGrayColors[1].Threshold   = 19999; 
   pGrayColors[2].Threshold   = 29999; 
   pGrayColors[3].Threshold   = 39999; 
   pGrayColors[4].Threshold   = 49999; 
   pGrayColors[5].Threshold   = 59999; 
   pGrayColors[0].Color       = new RasterColor(255, 0, 0); 
   pGrayColors[1].Color       = new RasterColor(0, 255, 0); 
   pGrayColors[2].Color       = new RasterColor(0, 0, 255); 
   pGrayColors[3].Color       = new RasterColor(0, 255, 255); 
   pGrayColors[4].Color       = new RasterColor(255, 0, 255); 
   pGrayColors[5].Color       = new RasterColor(255, 255, 0); 
 
   ColorizeGrayCommand command = new ColorizeGrayCommand(); 
   command.GrayColors = pGrayColors; 
   //Call the command 
   command.Run(image); 
 
   // Save result image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); 
   image.Dispose(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Core 
 
Public Sub ColorizeGrayCommandDataExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim pGrayColors As ColorizeGrayCommandData() = New ColorizeGrayCommandData(5){} 
   For i As Integer = 0 To 5 
      pGrayColors(i) = New ColorizeGrayCommandData() 
   Next i 
   pGrayColors(0).Threshold = 9999 
   pGrayColors(1).Threshold = 19999 
   pGrayColors(2).Threshold = 29999 
   pGrayColors(3).Threshold = 39999 
   pGrayColors(4).Threshold = 49999 
   pGrayColors(5).Threshold = 59999 
   pGrayColors(0).Color = New RasterColor(255, 0, 0) 
   pGrayColors(1).Color = New RasterColor(0, 255, 0) 
   pGrayColors(2).Color = New RasterColor(0, 0, 255) 
   pGrayColors(3).Color = New RasterColor(0, 255, 255) 
   pGrayColors(4).Color = New RasterColor(255, 0, 255) 
   pGrayColors(5).Color = New RasterColor(255, 255, 0) 
 
   Dim command As ColorizeGrayCommand = New ColorizeGrayCommand() 
   command.GrayColors = pGrayColors 
   'Call the command 
   command.Run(image) 
 
   ' Save result image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24) 
   image.Dispose() 
End Sub 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.Core Assembly
Click or drag to resize