Leadtools.ColorConversion Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.5.7
IccResponseCurveSet16TagType Class
See Also  Members   Example 
Leadtools.ColorConversion Namespace : IccResponseCurveSet16TagType Class




Contains the responseCurveSet1Type tag type data.

Object Model


Syntax

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

Example

This example method can be used in creating an "responseCurveSet16Type" mentioned in the ICC.1:2004-10 specification.

Visual BasicCopy Code
Public Sub IccResponseCurveSet16TagTypeExample()
   ' load an Icc Profile
   Dim iccProfile As New IccProfileExtended("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\EmptyIcc.icc")

   ' define the number of measurement types and number of channels
   Dim numOfMeasTypes As Integer = 1
   Dim numOfChannels As UShort = 1

   ' define the number of measurements for each channel
   Dim measurementCount(numOfChannels - 1) As Integer
   measurementCount(0) = 0

   ' define the number-of-channels measurements of patch
   ' with the maximum colorant value. PCS values shall be relative colorimetric
   Dim measurementOfPatch(numOfChannels - 1) As IccXyzNumber
   measurementOfPatch(0) = New IccXyzNumber(IccTools.FromDoubleTo2bFixed2bNumber(0.0), _
      IccTools.FromDoubleTo2bFixed2bNumber(1.0), _
      IccTools.FromDoubleTo2bFixed2bNumber(2.0))

   ' define number-of-channels response arrays
   Dim respArrays(numOfChannels - 1) As IccResponseArrays
   respArrays(0) = New IccResponseArrays()

   ReDim respArrays(0).ResponseNumber(numOfMeasTypes - 1)
   respArrays(0).ResponseNumber(0) = New IccResponse16Number(0, 0)

   ' define the curve structures
   Dim curveStructure(numOfMeasTypes - 1) As IccCurveStructure
   curveStructure(0) = New IccCurveStructure(IccMeasurementSignatureType.DN, measurementCount, measurementOfPatch, respArrays)

   ' define an array that will contain the offsets of the response data
   ' starting from the beginning from the tag type
   Dim responseDataOffsets(numOfMeasTypes - 1) As Integer
   responseDataOffsets(0) = 0

   ' create the IccResponseCurve class
   Dim responseCurve As New IccResponseCurve(numOfChannels, responseDataOffsets, curveStructure)

   ' define the tag type
   Dim responseCurveSet16TagType As New IccResponseCurveSet16TagType(responseCurve)

   ' add the new tag to the ICC Profile
   iccProfile.AddTag(responseCurveSet16TagType, IccTag.OutputResponseTag, IccTagTypeBase.ResponseCurveSet16TypeSignature)

   ' 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("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\IccResponseCurveSet16TagTypeVB.icc")
End Sub
C#Copy Code
public void IccResponseCurveSet16TagTypeExample() 

   // load an Icc Profile 
   IccProfileExtended iccProfile = new IccProfileExtended(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\EmptyIcc.icc"); 
 
   // define the number of measurement types and number of channels 
   int numOfMeasTypes = 1; 
   ushort numOfChannels = 1; 
 
   // define the number of measurements for each channel 
   int[] measurementCount = new int[numOfChannels]; 
   measurementCount[0] = 0; 
 
   // define the number-of-channels measurements of patch  
   // with the maximum colorant value. PCS values shall be relative colorimetric 
   IccXyzNumber[] measurementOfPatch = new IccXyzNumber[numOfChannels]; 
   measurementOfPatch[0] = new IccXyzNumber( 
      IccTools.FromDoubleTo2bFixed2bNumber(0.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(1.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(2.0)); 
 
   // define number-of-channels response arrays 
   IccResponseArrays[] respArrays = new IccResponseArrays[numOfChannels]; 
   respArrays[0] = new IccResponseArrays(); 
 
   respArrays[0].ResponseNumber = new IccResponse16Number[numOfMeasTypes]; 
   respArrays[0].ResponseNumber[0] = new IccResponse16Number(0, 0); 
 
   // define the curve structures 
   IccCurveStructure[] curveStructure = new IccCurveStructure[numOfMeasTypes]; 
   curveStructure[0] = new IccCurveStructure(IccMeasurementSignatureType.DN, measurementCount, measurementOfPatch, respArrays); 
 
   // define an array that will contain the offsets of the response data 
   // starting from the beginning from the tag type 
   int[] responseDataOffsets = new int[numOfMeasTypes]; 
   responseDataOffsets[0] = 0; 
 
   // create the IccResponseCurve class 
   IccResponseCurve responseCurve = new IccResponseCurve(numOfChannels, responseDataOffsets, curveStructure); 
 
   // define the tag type 
   IccResponseCurveSet16TagType responseCurveSet16TagType = new IccResponseCurveSet16TagType(responseCurve); 
 
   // add the new tag to the ICC Profile 
   iccProfile.AddTag(responseCurveSet16TagType, IccTag.OutputResponseTag, IccTagTypeBase.ResponseCurveSet16TypeSignature); 
 
   // 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(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\IccResponseCurveSet16TagTypeCS.icc"); 
}

Remarks

  • The signature for this tag type is IccTagTypeBase.ResponseCurveSet16TypeSignature.
  • The purpose of this tag type is to provide a mechanism to relate physical colorant amounts with the normalized device codes produced by lut8Type, lut16Type, lutAToBType or lutBToAType tags so that corrections can be made for variation in the device without having to produce a new profile.

Inheritance Hierarchy

System.Object
   Leadtools.ColorConversion.IccTagTypeBase
      Leadtools.ColorConversion.IccResponseCurveSet16TagType

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also