←Select platform

ColorLevelCommandData Class

Summary

The ColorLevelCommandData class contains color-leveling information for a specific color channel.

Syntax
C#
VB
Objective-C
C++
Java
public class ColorLevelCommandData 
Public Class ColorLevelCommandData  
@interface LTColorLevelCommandData : NSObject 
public class ColorLevelCommandData 
public ref class ColorLevelCommandData  

Remarks
  • The value of the MaximumInput property must be greater than the value of the MinimumInput property by at least 2.
  • If MinimumOutput > MaximumOutput then the image's shadows and highlights will be inverted for the given channel.
  • This class is used by the ColorLevelCommand class.
  • This class does not support 32-bit grayscale images.

Example

Run the ColorLevelCommand on an image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
public void ColorLevelCommandDataExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   // Prepare the command 
   ColorLevelCommandData blue = new ColorLevelCommandData(); 
   ColorLevelCommandData master = new ColorLevelCommandData(); 
   //Specify Image levels 
   blue.MinimumInput = 20; 
   blue.MaximumInput = 200; 
   blue.MinimumOutput = 0; 
   blue.MaximumOutput = 255; 
   blue.Gamma = 100; 
   // Master will cause the image to be Inversed 
   master.MinimumInput = 0; 
   master.MaximumInput = 255; 
   master.MinimumOutput = 255; 
   master.MaximumOutput = 0; 
   master.Gamma = 100; 
   // Level the Blue and Master channels 
   ColorLevelCommand command = new ColorLevelCommand(master, null, null, blue, ColorLevelCommandFlags.Blue | ColorLevelCommandFlags.Master); 
   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:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Color 
 
Public Sub ColorLevelCommandDataExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")) 
 
   ' Prepare the command 
   Dim blue As ColorLevelCommandData = New ColorLevelCommandData 
   Dim master As ColorLevelCommandData = New ColorLevelCommandData 
   'Specify Image levels 
   blue.MinimumInput = 20 
   blue.MaximumInput = 200 
   blue.MinimumOutput = 0 
   blue.MaximumOutput = 255 
   blue.Gamma = 100 
   ' Master will cause the image to be Inversed 
   master.MinimumInput = 0 
   master.MaximumInput = 255 
   master.MinimumOutput = 255 
   master.MaximumOutput = 0 
   master.Gamma = 100 
   ' Level the Blue and Master channels 
   Dim command As ColorLevelCommand = New ColorLevelCommand(master, Nothing, Nothing, blue, ColorLevelCommandFlags.Blue Or ColorLevelCommandFlags.Master) 
   command.Run(leadImage) 
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Examples; 
 
public void ColorLevelCommandDataExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   ColorLevelCommandData blue = new ColorLevelCommandData(); 
   ColorLevelCommandData master = new ColorLevelCommandData(); 
   //Specify Image levels 
   blue.MinimumInput = 20; 
   blue.MaximumInput = 200; 
   blue.MinimumOutput = 0; 
   blue.MaximumOutput = 255; 
   blue.Gamma = 100; 
   // Master will cause the image to be Inversed 
   master.MinimumInput = 0; 
   master.MaximumInput = 255; 
   master.MinimumOutput = 255; 
   master.MaximumOutput = 0; 
   master.Gamma = 100; 
   // Level the Blue and Master channels 
   ColorLevelCommand command = new ColorLevelCommand(master, null, null, blue, ColorLevelCommandFlags.Blue | ColorLevelCommandFlags.Master); 
   command.Run(image); 
 
   // Save result image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); 
   image.Dispose(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Color 
 
Public Sub ColorLevelCommandDataExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim blue As ColorLevelCommandData = New ColorLevelCommandData() 
   Dim master As ColorLevelCommandData = New ColorLevelCommandData() 
   'Specify Image levels 
   blue.MinimumInput = 20 
   blue.MaximumInput = 200 
   blue.MinimumOutput = 0 
   blue.MaximumOutput = 255 
   blue.Gamma = 100 
   ' Master will cause the image to be Inversed 
   master.MinimumInput = 0 
   master.MaximumInput = 255 
   master.MinimumOutput = 255 
   master.MaximumOutput = 0 
   master.Gamma = 100 
   ' Level the Blue and Master channels 
   Dim command As ColorLevelCommand = New ColorLevelCommand(master, Nothing, Nothing, blue, ColorLevelCommandFlags.Blue Or ColorLevelCommandFlags.Master) 
   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

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Color Assembly