Performs specific mathematical or logical operations on the colors of the image.
public class ApplyMathematicalLogicCommand : RasterCommand
Public Class ApplyMathematicalLogicCommand
Inherits RasterCommand
@interface LTApplyMathematicalLogicCommand : LTRasterCommand
public class ApplyMathematicalLogicCommand extends RasterCommand
public:
ref class ApplyMathematicalLogicCommand : RasterCommand
This command does not support 32-bit grayscale images.
In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:
#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
#define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
#define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
For more information, refer to Changing Brightness and Contrast. For more information, refer to Correcting Colors. For more information, refer to Flags for ApplyMathematicalLogicCommand.
Run the ApplyMathematicalLogicCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Color;
public void ApplyMathematicalLogicCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\NaturalFruits.jpg"));
// Prepare the command
ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
command.Factor = 151;
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
// Multiply the colors of the bitmap using a factor of 1.51 .
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 ApplyMathematicalLogicCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\NaturalFruits.jpg"))
' Prepare the command
Dim command As ApplyMathematicalLogicCommand = New ApplyMathematicalLogicCommand
command.Factor = 151
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply Or ApplyMathematicalLogicCommandFlags.ValueDoNothing Or ApplyMathematicalLogicCommandFlags.ResultDoNothing
' Multiply the colors of the bitmap using a factor of 1.51 .
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 ApplyMathematicalLogicCommandExample(RasterImage image, Stream outStream)
{
// Prepare the command
ApplyMathematicalLogicCommand command = new ApplyMathematicalLogicCommand();
command.Factor = 151;
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply | ApplyMathematicalLogicCommandFlags.ValueDoNothing | ApplyMathematicalLogicCommandFlags.ResultDoNothing;
// Multiply the colors of the bitmap using a factor of 1.51 .
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 ApplyMathematicalLogicCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim command As ApplyMathematicalLogicCommand = New ApplyMathematicalLogicCommand()
command.Factor = 151
command.Flags = ApplyMathematicalLogicCommandFlags.OperationMultiply Or ApplyMathematicalLogicCommandFlags.ValueDoNothing Or
ApplyMathematicalLogicCommandFlags.ResultDoNothing
' Multiply the colors of the bitmap using a factor of 1.51 .
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub
ApplyMathematicalLogicCommand Members
Leadtools.ImageProcessing.Color Namespace
Flags for ApplyMathematicalLogicCommand
Changing Brightness and Contrast
Leadtools.ImageProcessing.Effects.CombineCommand
HistogramContrastCommand Class
HistogramEqualizeCommand Class
Leadtools.ImageProcessing.FillCommand
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document