Visual Basic (Declaration) | |
---|---|
Public Class ColorLevelCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements IRasterCommand |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As ColorLevelCommand |
C# | |
---|---|
public class ColorLevelCommand : Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
C++/CLI | |
---|---|
public ref class ColorLevelCommand : public Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
Run the Leadtools.ImageProcessing.Color.ColorLevelCommand on an image.
Visual Basic | Copy Code |
---|---|
Public Sub ColorLevelCommandExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) ' 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# | Copy Code |
---|---|
public void ColorLevelCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); // 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"; } |
SilverlightCSharp | Copy Code |
---|---|
public void ColorLevelCommandExample(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(); } |
SilverlightVB | Copy Code |
---|---|
Public Sub ColorLevelCommandExample(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 |
- The members of the ColorLevelCommandData class tell the ColorLevelCommand what constitutes shadows, midtones, and highlights and how to remap the shadows, midtones and highlights.
- Control the amount of image balance and leveling by controlling the values of the MinimumInput, MaximumInput, MinimumOutput, MaximumOutput, and Gamma members of the ColorLevelCommandData class.
- The MinimumInput property of the ColorLevelCommandData class defines what the method interprets as shadows for that color channel. Any value less than or equal to MinimumInput is considered a shadow.
- The MaximumInput property of the ColorLevelCommandData class defines what the method interprets as highlights for that color channel. Any value greater than or equal to MaximumInput is considered a highlight.
- The value of the MaximumInput property must be greater than the value of the MinimumInput property by at least 2.
- Midtones are those values between MinimumInput and MaximumInput.
- The MinimumOutput property is the value to which the shadows will be mapped.
- The MaximumOutput property is the value to which the highlights will be mapped.
- The Gamma property is used to modify the midtone values
- If only ColorLevelCommandFlags.Master is set in the Flags property, then the rest of the channels will still be affected.
- If the image is a grayscale image, then you must set ColorLevelCommandFlags.Master in the Flags property, otherwise the class will not have any effect.
- If MinimumOutput > MaximumOutput then the image's shadows and highlights will be inverted.
- This command 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 command does not support signed data images.
For more information, refer to Changing Brightness and Contrast. For more information, refer to Correcting Colors.
System.Object
Leadtools.ImageProcessing.RasterCommand
Leadtools.ImageProcessing.Color.ColorLevelCommand
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
Reference
ColorLevelCommand MembersLeadtools.ImageProcessing.Color Namespace
Changing Brightness and Contrast
Correcting Colors
Leadtools.ImageProcessing.Effects.SharpenCommand
PosterizeCommand Class
Leadtools.ImageProcessing.Effects.MosaicCommand
Leadtools.ImageProcessing.Effects.EmbossCommand
Leadtools.ImageProcessing.Core.MedianCommand
Leadtools.ImageProcessing.Effects.AddNoiseCommand
IntensityDetectCommand Class
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Core.MaximumCommand
Leadtools.ImageProcessing.Core.MinimumCommand
Leadtools.ImageProcessing.Effects.OilifyCommand
SolarizeCommand Class
Leadtools.ImageProcessing.Core.WindowLevelCommand
AutoColorLevelCommand Class
SelectiveColorCommand Class
AdjustTintCommand Class
Leadtools.ImageProcessing.Core.HalfToneCommand