←Select platform

IccLookupTable16 Structure

Summary
Contains data to be used in the lut16Type tag type.
Syntax
C#
C++/CLI
Python
public struct IccLookupTable16 
public value class IccLookupTable16 : public System.ValueType  
class IccLookupTable16: 
Example
C#
using Leadtools; 
using Leadtools.ColorConversion; 
 
using Leadtools.Codecs; 
 
public string outputIccFile = Path.Combine(LEAD_VARS.ImagesDir, "IccLookupTable16TagType.icc"); 
 
public void IccLookupTable16TagTypeExample() 
{ 
   // Load an ICC profile 
   string IccfileName = Path.Combine(LEAD_VARS.ImagesDir, "InputProfile.icc"); 
   IccProfileExtended iccProfile = new IccProfileExtended(IccfileName); 
 
   // These arrays should be filled with the appropriate data 
   // Input table will be (InputChannels(3) * InputEntries(2)) shorts 
   // Output table will be (OutputChannels(3) * OutputEntries(2)) shorts 
   // CLUT will be ((CLUTPoints(8) ^ InputChannels(3)) * OutputChannels(3)) shorts 
   ushort[] inputTables = new ushort[6]; 
   ushort[] colorLUTTables = new ushort[1536]; 
   ushort[] outputTables = new ushort[6]; 
 
   // Fill the tables 
   inputTables[0] = 0; 
   inputTables[1] = 65535; 
   inputTables[2] = 0; 
   inputTables[3] = 65535; 
   inputTables[4] = 0; 
   inputTables[5] = 65535; 
 
   outputTables[0] = 0; 
   outputTables[1] = 65535; 
   outputTables[2] = 0; 
   outputTables[3] = 65535; 
   outputTables[4] = 0; 
   outputTables[5] = 65535; 
 
   int nI = 0; 
   for (int rI = 0; rI < 256; rI += 32) 
   { 
      for (int gI = 0; gI < 256; gI += 32) 
      { 
         for (int bI = 0; bI < 256; bI += 32) 
         { 
            colorLUTTables[nI++] = (ushort)Math.Min(Math.Max(0, rI * 256), 65535); 
            colorLUTTables[nI++] = (ushort)Math.Min(Math.Max(0, gI * 256), 65535); 
            colorLUTTables[nI++] = (ushort)Math.Min(Math.Max(0, bI * 256), 65535); 
         } 
      } 
   } 
 
   // Create new IccLookupTable16 class 
   IccLookupTable16 iccLUT16 = new IccLookupTable16(3, 3, 8, 
      IccTools.FromDoubleTo2bFixed2bNumber(1.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(1.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(1.0), 
      inputTables, 
      colorLUTTables, 
      outputTables); 
 
   // Define the tag type 
   IccLookupTable16TagType iccLUT16TagType = new IccLookupTable16TagType(iccLUT16); 
 
   // Add the new tag to the ICC profile 
   iccProfile.AddTag(iccLUT16TagType, IccTag.BToA0Tag, IccTagTypeBase.Lut16TypeSignature); 
 
   // Generate the new profile ID 
   iccProfile.GenerateProfileId(); 
 
   // Update the ICC array with the new changes 
   iccProfile.UpdateDataArray(); 
 
   // Write the ICC profile into a new file 
   iccProfile.GenerateIccFile(outputIccFile); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.ColorConversion Assembly

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