public int AOffset { get; set; } AOffset # get and set (ConversionLabParameters)
The A component offset.
using Leadtools;using Leadtools.Codecs;using Leadtools.ColorConversion;using Leadtools.ImageProcessing;public string outputFile = Path.Combine(LEAD_VARS.ImagesDir, "ColorConversion", "LabToBgr.bmp");public void ConvertDirectToImageExample(){// Start up the ColorConversion.RasterColorConverterEngine.Startup();// Input file namestring inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");// Load the input image as BGRusing (RasterCodecs codecs = new RasterCodecs())using (RasterImage bgrImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1)){// Get the input image buffer arraybyte[] bgrBuffer = new byte[bgrImage.BytesPerLine * bgrImage.Height];bgrImage.Access();bgrImage.GetRow(0, bgrBuffer, 0, bgrImage.BytesPerLine * bgrImage.Height);bgrImage.Release();// Create the destination CIELab bufferbyte[] labBuffer = new byte[bgrBuffer.Length];// Initialize a new Converter objectusing (RasterColorConverterEngine colorConverterEngine = new RasterColorConverterEngine()){// Conversion parametersConversionParameters convParams = new ConversionParameters();convParams.Method = ConversionMethodFlags.ChangeLab;// CIELab conversion parametersConversionLabParameters labParameters = ConversionLabParameters.Empty;labParameters.AOffset = 128;labParameters.ARange = 170;labParameters.BOffset = 96;labParameters.BRange = 200;labParameters.LOffset = 0;labParameters.LRange = 100;labParameters.Mask = ConversionLabMaskFlags.AOffset |ConversionLabMaskFlags.ARange |ConversionLabMaskFlags.BOffset |ConversionLabMaskFlags.BRange |ConversionLabMaskFlags.LOffset |ConversionLabMaskFlags.LRange;convParams.LabParameters = labParameters;// Convert BGR to CIELab buffer using the previous parameterscolorConverterEngine.Start(ConversionColorFormat.Bgr, ConversionColorFormat.Lab, null);colorConverterEngine.SetParameters(convParams);colorConverterEngine.Convert(bgrBuffer, // input buffer0, // offset from the beginning of the source bufferlabBuffer, // output buffer0, // offset from the beginning of the destination bufferbgrImage.Width, // pixels widthbgrImage.Height, // pixels heightbgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)), // Scanline alignment for input buffer0); // Scanline alignment for output buffercolorConverterEngine.Stop();// To view the image after converison, convert the now CIELab buffer to a BGR imageRasterImage dstImage = new RasterImage(RasterMemoryFlags.Conventional, bgrImage.Width, bgrImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, IntPtr.Zero, 0);RasterColorConverterEngine.ConvertDirectToImage(ConversionColorFormat.Lab,ConversionColorFormat.Bgr,labBuffer, // Source buffer0, // Offset from the beginning of the source bufferdstImage, // Destination ImagebgrImage.Width, // Pixels widthbgrImage.Height, // Pixels height0, // Scanline alignment for input bufferbgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))); // Scanline alignment for output buffer// Save the converted RGB Imagecodecs.Save(dstImage, outputFile, RasterImageFormat.Bmp, 24);}}// Shutdown the ColorConversion.RasterColorConverterEngine.Shutdown();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
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
