←Select platform

LabParameters Property

Summary
Gets or sets the CIELab conversion properties.
Syntax
C#
C++/CLI
Python
public ConversionLabParameters LabParameters { get; set; } 
public: 
property ConversionLabParameters LabParameters { 
   ConversionLabParameters get(); 
   void set (    ConversionLabParameters ); 
} 
LabParameters # get and set (ConversionParameters) 

Property Value

A ConversionLabParameters structure that contains the CIELab conversion properties.

Remarks

The CIELab conversion properties. If this property value is null(Nothing), default values are assumed.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ColorConversion; 
 
 
 
public void ConvertDirectToImageExample() 
{ 
   // Initialize the RasterCodecs class 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // StartUp the ColorConversion. 
   RasterColorConverterEngine.Startup(); 
 
   // The input file name 
   string inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
 
   // load the input image as Bgr. 
   RasterImage bgrImage = codecs.Load(inputFileName, 24, CodecsLoadByteOrder.Bgr, 1, 1); 
 
   // Image buffer array 
   byte[] bgrBuffer = new byte[bgrImage.BytesPerLine * bgrImage.Height]; 
 
   bgrImage.Access(); 
   // get image buffer 
   for (int i = 0; i < bgrImage.Height; i++) 
      bgrImage.GetRow(i, bgrBuffer, i * bgrImage.BytesPerLine, bgrImage.BytesPerLine); 
   bgrImage.Release(); 
 
   // Initialize a new Converter object 
   RasterColorConverterEngine converter = new RasterColorConverterEngine(); 
 
   // output Buffer array 
   byte[] labBuffer = new byte[bgrBuffer.Length]; 
 
   ConversionParameters convParams = new ConversionParameters(); 
 
   // Initialize the labParams structure property. 
   ConversionLabParameters labParameters = ConversionLabParameters.Empty; 
 
   // Set its properties 
   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; 
 
   // Initialize an image to hold the converted buffer. 
   RasterImage labImage = null; 
 
   try 
   { 
      // Start the color conversion 
      converter.Start(ConversionColorFormat.Bgr, ConversionColorFormat.Lab, null); 
 
      // Change the Lab properties 
      convParams.Method = ConversionMethodFlags.ChangeLab; 
 
      // Set the updated properties 
      converter.SetParameters(convParams); 
 
      // convert the image buffer  
      converter.Convert(bgrBuffer, // input buffer 
         0, // offset from the beginning of the source buffer 
         labBuffer, // output buffer 
         0, // offset from the beginning of the destination buffer 
         bgrImage.Width, // pixels width 
         bgrImage.Height, // pixels height 
         bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8)), 
         0); // 0 bytes align 
 
      // stop the conversion 
      converter.Stop(); 
 
      // Initialize labImage. 
      labImage = new RasterImage(RasterMemoryFlags.Conventional, bgrImage.Width, bgrImage.Height, 24, RasterByteOrder.Bgr, RasterViewPerspective.TopLeft, null, IntPtr.Zero, 0); 
 
      // convert the image buffer 
      // The srcBufferOffset parameter is an offset to the start byte of the data in the source buffer. 
      // For example, if the image data started at byte 5, then this variable should = 5. 
      // In our example here, the image data starts at byte 0. 
 
      // Note that the srcBuffer can be also passed to this function as an IntPtr pointer. 
      RasterColorConverterEngine.ConvertDirectToImage( 
         ConversionColorFormat.Lab, 
         ConversionColorFormat.Bgr, 
         labBuffer, // converted buffer 
         0, // offset from the beginning of the source buffer 
         labImage, // image to be view 
         bgrImage.Width, // pixels width 
         bgrImage.Height, // pixels height 
         0, // 0 bytes align 
         bgrImage.BytesPerLine - (bgrImage.Width * (bgrImage.BitsPerPixel / 8))); 
 
      // dispose the used image 
      bgrImage.Dispose(); 
   } 
   catch (Exception ex) 
   { 
      Debug.WriteLine(ex.Message); 
   } 
 
   // Shutdown the ColorConversion. 
   RasterColorConverterEngine.Shutdown(); 
 
   // the output File Name. 
   string outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "ResultImage.bmp"); 
 
   // Save the converted Image 
   codecs.Save(labImage, outputFileName, RasterImageFormat.Bmp, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ColorConversion Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.