←Select platform

ChannelMixerCommand Class

Summary

Redistributes the RGB values of a specific image, using the values in the ChannelMixerCommandFactor classes.

Syntax

C#
VB
Java
Objective-C
WinRT C#
C++
@interface LTChannelMixerCommand : LTRasterCommand
public class ChannelMixerCommand extends RasterCommand
function Leadtools.ImageProcessing.Color.ChannelMixerCommand()

Remarks
  • This command is used to rebalance the colors in an image. It can be used to make color adjustments and corrections.
  • This command supports 1-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, 7-bit, 8-bit, 24-bit, 48-bit and 64-bit images and can support regions for 24-bit, 48-bit and 64-bit images. If the image has a region, the effect will be applied on the region only.
  • This command 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 Correcting Colors.

Example

Run the ChannelMixerCommand on an image.

C#
VB
WinRT C#
Silverlight C#
Silverlight VB
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.Color 
 
    
Public Sub ChannelMixerCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image1.jpg")) 
 
   ' Prepare the command 
   Dim RedFactor As ChannelMixerCommandFactor = New ChannelMixerCommandFactor 
   RedFactor.Red = 50 
   RedFactor.Green = 0 
   RedFactor.Blue = 0 
   RedFactor.Constant = 0 
   Dim GreenFactor As ChannelMixerCommandFactor = New ChannelMixerCommandFactor 
   GreenFactor.Red = 100 
   GreenFactor.Green = 100 
   GreenFactor.Blue = 0 
   GreenFactor.Constant = 0 
   Dim BlueFactor As ChannelMixerCommandFactor = New ChannelMixerCommandFactor 
   BlueFactor.Red = 0 
   BlueFactor.Green = 0 
   BlueFactor.Blue = 100 
   BlueFactor.Constant = 0 
   Dim command As ChannelMixerCommand = New ChannelMixerCommand(RedFactor, GreenFactor, BlueFactor) 
   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 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
       
public void ChannelMixerCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image1.jpg")); 
 
   // Prepare the command 
   ChannelMixerCommandFactor RedFactor = new ChannelMixerCommandFactor(); 
   RedFactor.Red = 50; 
   RedFactor.Green = 0; 
   RedFactor.Blue = 0; 
   RedFactor.Constant = 0; 
   ChannelMixerCommandFactor GreenFactor = new ChannelMixerCommandFactor(); 
   GreenFactor.Red = 100; 
   GreenFactor.Green = 100; 
   GreenFactor.Blue = 0; 
   GreenFactor.Constant = 0; 
   ChannelMixerCommandFactor BlueFactor = new ChannelMixerCommandFactor(); 
   BlueFactor.Red = 0; 
   BlueFactor.Green = 0; 
   BlueFactor.Blue = 100; 
   BlueFactor.Constant = 0; 
   ChannelMixerCommand command = new ChannelMixerCommand(RedFactor, GreenFactor, BlueFactor); 
   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"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
       
public async Task ChannelMixerCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   // Load the image 
   string srcFileName = @"Assets\Image1.cmp"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   ChannelMixerCommandFactor RedFactor = new ChannelMixerCommandFactor(); 
   RedFactor.Red = 50; 
   RedFactor.Green = 0; 
   RedFactor.Blue = 0; 
   RedFactor.Constant = 0; 
   ChannelMixerCommandFactor GreenFactor = new ChannelMixerCommandFactor(); 
   GreenFactor.Red = 100; 
   GreenFactor.Green = 100; 
   GreenFactor.Blue = 0; 
   GreenFactor.Constant = 0; 
   ChannelMixerCommandFactor BlueFactor = new ChannelMixerCommandFactor(); 
   BlueFactor.Red = 0; 
   BlueFactor.Green = 0; 
   BlueFactor.Blue = 100; 
   BlueFactor.Constant = 0; 
   ChannelMixerCommand command = new ChannelMixerCommand(RedFactor, GreenFactor, BlueFactor); 
   command.Run(image); 
 
   string destFileName = @"result.jpg"; 
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); 
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Jpeg, 0); 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Examples; 
 
public void ChannelMixerCommandExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   ChannelMixerCommandFactor RedFactor = new ChannelMixerCommandFactor(); 
   RedFactor.Red = 50; 
   RedFactor.Green = 0; 
   RedFactor.Blue = 0; 
   RedFactor.Constant = 0; 
   ChannelMixerCommandFactor GreenFactor = new ChannelMixerCommandFactor(); 
   GreenFactor.Red = 100; 
   GreenFactor.Green = 100; 
   GreenFactor.Blue = 0; 
   GreenFactor.Constant = 0; 
   ChannelMixerCommandFactor BlueFactor = new ChannelMixerCommandFactor(); 
   BlueFactor.Red = 0; 
   BlueFactor.Green = 0; 
   BlueFactor.Blue = 100; 
   BlueFactor.Constant = 0; 
   ChannelMixerCommand command = new ChannelMixerCommand(RedFactor, GreenFactor, BlueFactor); 
   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.Color 
 
Public Sub ChannelMixerCommandExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim RedFactor As ChannelMixerCommandFactor = New ChannelMixerCommandFactor() 
   RedFactor.Red = 50 
   RedFactor.Green = 0 
   RedFactor.Blue = 0 
   RedFactor.Constant = 0 
   Dim GreenFactor As ChannelMixerCommandFactor = New ChannelMixerCommandFactor() 
   GreenFactor.Red = 100 
   GreenFactor.Green = 100 
   GreenFactor.Blue = 0 
   GreenFactor.Constant = 0 
   Dim BlueFactor As ChannelMixerCommandFactor = New ChannelMixerCommandFactor() 
   BlueFactor.Red = 0 
   BlueFactor.Green = 0 
   BlueFactor.Blue = 100 
   BlueFactor.Constant = 0 
   Dim command As ChannelMixerCommand = New ChannelMixerCommand(RedFactor, GreenFactor, BlueFactor) 
   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.Color Assembly
Click or drag to resize