LEADTOOLS Color Conversion (Leadtools.ColorConversion assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
IccColorantTableTagType Class
See Also  Members  
Leadtools.ColorConversion Namespace : IccColorantTableTagType Class



Contains the colorantTableType tag type data.

Object Model

IccColorantTableTagType ClassIccColorantTableData Structure

Syntax

Visual Basic (Declaration) 
Public Class IccColorantTableTagType 
   Inherits IccTagTypeBase
Visual Basic (Usage)Copy Code
Dim instance As IccColorantTableTagType
C# 
public class IccColorantTableTagType : IccTagTypeBase 
C++/CLI 
public ref class IccColorantTableTagType : public IccTagTypeBase 

Example

This example method can be used in creating an "colorantTableType" mentioned in the ICC.1:2004-10 specification. This method fills only one color of an IccColorantTableTagType. To fill more than one color, a loop should be used as needed.

Visual BasicCopy Code
Public Sub IccColorantTableTagTypeExample()
      ' load an Icc Profile
      Dim iccProfile As New IccProfileExtended(Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc"))

      ' we will have 3 colorants
      ' define the first colorant name and value
      Dim colorantName1 As String = "Luminance"
      Dim pcsValues1() As UShort = {1, 0, 0}

      ' define the second colorant name and value
      Dim colorantName2 As String = "A"
      Dim pcsValues2() As UShort = {0, 1, 0}

      ' define the third colorant name and value
      Dim colorantName3 As String = "B"
      Dim pcsValues3() As UShort = {0, 0, 1}

      ' define one color in the colorant table & create a new ColorantTable type
      Dim iccColorantTable() As IccColorantTableData = { _
         New IccColorantTableData(Encoding.ASCII.GetBytes(colorantName1), pcsValues1), _
         New IccColorantTableData(Encoding.ASCII.GetBytes(colorantName2), pcsValues2), _
         New IccColorantTableData(Encoding.ASCII.GetBytes(colorantName3), pcsValues3)}

      ' define the tag type
      Dim iccColorantTableTagType As New IccColorantTableTagType(iccColorantTable)

      ' add the new tag to the ICC Profile
      iccProfile.AddTag(iccColorantTableTagType, IccTag.ColorantTableTag, IccTagTypeBase.ColorantTableTypeSignature)

      ' 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(Path.Combine(LEAD_VARS.ImagesDir, "IccColorantTableTagTypeVB.icc"))
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void IccColorantTableTagTypeExample()
   {
      // load an Icc Profile
      string fileName = Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc");
      IccProfileExtended iccProfile = new IccProfileExtended(fileName);

      // we will have 3 colorants
      // define the first colorant name and value
      string colorantName1 = "Luminance";
      ushort[] pcsValues1 = new ushort[3] { 1, 0, 0 };

      // define the second colorant name and value
      string colorantName2 = "A";
      ushort[] pcsValues2 = new ushort[3] { 0, 1, 0 };

      // define the third colorant name and value
      string colorantName3 = "B";
      ushort[] pcsValues3 = new ushort[3] { 0, 0, 1 };

      // define one color in the colorant table
      IccColorantTableData[] iccColorantTable = new IccColorantTableData[3];

      // create a new ColorantTable type
      iccColorantTable[0] = new IccColorantTableData(Encoding.ASCII.GetBytes(colorantName1), pcsValues1);
      iccColorantTable[1] = new IccColorantTableData(Encoding.ASCII.GetBytes(colorantName2), pcsValues2);
      iccColorantTable[2] = new IccColorantTableData(Encoding.ASCII.GetBytes(colorantName3), pcsValues3);

      // define the tag type
      IccColorantTableTagType iccColorantTableTagType = new IccColorantTableTagType(iccColorantTable);

      // add the new tag to the ICC Profile
      iccProfile.AddTag(iccColorantTableTagType, IccTag.ColorantTableTag, IccTagTypeBase.ColorantTableTypeSignature);

      // 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
      string IccfileName = Path.Combine(LEAD_VARS.ImagesDir, "IccColorantTableTagTypeCS.icc");
      iccProfile.GenerateIccFile(IccfileName);
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
SilverlightVBCopy Code

Remarks

Inheritance Hierarchy

System.Object
   Leadtools.ColorConversion.IccTagTypeBase
      Leadtools.ColorConversion.IccColorantTableTagType

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also