- Aurigma Graphics Mill 5.5 for .NET
- Introduction
- What's New?
- Overview of Features
- Getting Started
- Programming with Graphics Mill for .NET
- File Formats
- Graphics Mill for .NET Add-ons
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- Aurigma.GraphicsMill.AjaxControls Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- AddNoise Class
- AdjustHsl Class
- ApplyLut Class
- ApplyMatrixTransform Class
- BitmapTransform Class
- Blur Class
- BlurType Enumeration
- Brightness Class
- BrightnessContrast Class
- Buttonize Class
- ChannelBalance Class
- ColorManagementEngine Enumeration
- ColorQuantizationAlgorithm Enumeration
- ColorTransformationIntent Enumeration
- CombineMode Enumeration
- Combiner Class
- Contrast Class
- Crop Class
- Curves Class
- Cylindrize Class
- Direction Enumeration
- DistributionKind Enumeration
- DitheringType Enumeration
- EdgeDetect Class
- EdgeDetectMode Enumeration
- Emboss Class
- FadeType Enumeration
- FloodFill Class
- FloodFillMode Enumeration
- Glow Class
- HistogramEqualize Class
- InterpolationMode Enumeration
- Invert Class
- Levels Class
- Lut Class
- MaskedBitmapTransform Class
- Matrix Class
- MaximumFilter Class
- MedianFilter Class
- MinimumFilter Class
- Mosaic Class
- Orientation Enumeration
- PageCurl Class
- PerChannelBitmapTransform Class
- PixelFormatConverter Class
- RedEyeBlob Class
- RedEyeMask Class
- RedEyeRemoval Class
- RedEyeRemovalMode Enumeration
- Resize Class
- ResizeMode Enumeration
- Rotate Class
- RotateAndFlip Class
- Shadow Class
- Sharpen Class
- Solarize Class
- Spray Class
- SwapChannels Class
- Swirl Class
- Texturize Class
- Transparentize Class
- UnsharpMask Class
- Waddle Class
- WaterDrop Class
- Wave Class
- WaveType Enumeration
- Aurigma.GraphicsMill.WebControls Namespace
- Aurigma.GraphicsMill.WinControls Namespace
- GraphicsMill Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace (Client Class Library)
- Samples
- Licensing
- Copyright Notices
ApplyLut Class
This class enables you to apply tone correction using specified look-up table (LUT).
Namespace:
Aurigma.GraphicsMill.Transforms
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
Public NotInheritable Class ApplyLut _
Inherits PerChannelBitmapTransform
public sealed class ApplyLut : PerChannelBitmapTransform
Remarks
Look-up table (LUT) is an array specifying mapping function for pixels. The algorithm works in the following way: it iterates through each pixels on each channels separately. It takes a channel luminosity and uses it as index in LUT array to get a value to copy to corresponding channel and pixel of the result image. Pseudocode for this algorithm is looking in the following way:
' This is a pseudocode demonstrating
' how LUT works. Note, it is not an actual code and
' this syntax is not correct for Graphics Mill objects! It
' is just used for brevity.
' Let's assume that width and height - image dimension (both for input
' and output), channelCount - number of channels defined for bitmap pixel format
' (also the same in both bitmaps). LUT is specified look-up table
For i = 0 To height - 1
For j = 0 To width - 1
For k = 0 to channelCount - 1
outputBitmap(i, j, k) = LUT(inputBitmap(i, j, k))
Next
Next
Next
// This is a pseudocode demonstrating
// how LUT works. Note, it is not an actual code and
// this syntax is not correct for Graphics Mill objects! It
// is just used for brevity.
// Let's assume that width and height - image dimension (both for input
// and output), channelCount - number of channels defined for bitmap pixel format
// (also the same in both bitmaps). LUT is specified look-up table
for ( i = 0; i < height - 1; i++)
{
for ( j = 0; j < width - 1; j++)
{
for ( k = 0; k < channelCount - 1; k++)
{
outputBitmap[i, j, k] = LUT[inputBitmap[i, j, k]];
}
}
}
To specify look-up table you should use property Lut. Look-up tables are represented with Aurigma.GraphicsMill.Transforms.Lut class which provides a number of methods allowing to generate LUT as standard function.
As usual LUT should not affect the alpha channel. When property ApplyOnAlpha is set to false, alpha channel is not modified with algorithm even if it is enabled with Channels property.
Examples
Dim applyLut As New Aurigma.GraphicsMill.Transforms.ApplyLut
'LUT for image posterizing
applyLut.Lut.BuildStaircase(10, False)
applyLut.ApplyTransform(bitmap)
Aurigma.GraphicsMill.Transforms.ApplyLut applyLut =
new Aurigma.GraphicsMill.Transforms.ApplyLut();
//LUT for image posterizing
applyLut.Lut.BuildStaircase(10, false);
applyLut.ApplyTransform(bitmap);
Inheritance Hierarchy
Thread Safety
Static members of this type are safe for multi-threaded operations. Instance members of this type are safe for multi-threaded operations.Object Model



Supported Pixel Formats
| Member Name | Description |
|---|---|
| Format8bppGrayScale | 8 bits per pixel. Grayscale. 8 bits are used for luminosity level. |
| Format16bppGrayScale | 16 bits per pixel. Grayscale. All 16 bits are used for luminosity level (extended pixel format). |
| Format16bppAGrayScale | 16 bits per pixel. Grayscale with alpha channel. 8 bits are used for alpha channel and other 8 bits are used for luminosity level. |
| Format32bppAGrayScale | 32 bits per pixel. Grayscale with alpha channel. 16 bits are used for alpha channel and other 16 bits are used for luminosity level (extended pixel format). |
| Format24bppRgb | 24 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. |
| Format32bppRgb | 32 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. The rest 8 bits are unused. |
| Format32bppArgb | 32 bits per pixel. RGB with alpha channel. 8 bits each are used for the alpha, red, green, and blue components. |
| Format48bppRgb | 48 bits per pixel. RGB. 16 bits each are used for the red, green, and blue components (extended pixel format). |
| Format64bppArgb | 64 bits per pixel. RGB with alpha channel. 16 bits each are used for the alpha, red, green, and blue components (extended pixel format). |
| Format32bppCmyk | 32 bits per pixel. CMYK. 8 bits each are used for the cyan, magenta, yellow, and black components. |
| Format64bppCmyk | 64 bits per pixel. CMYK. 16 bits each are used for the cyan, magenta, yellow, and black components (extended pixel format). |
| Format80bppAcmyk | 80 bits per pixel. CMYK with alpha channel. 16 bits each are used for the alpha, cyan, magenta, yellow, and black components (extended pixel format). |