LEADTOOLS Color Conversion (Leadtools.ColorConversion assembly)

IccResponseCurveSet16TagType Class

Show in webframe
Example 





Members 
Contains the responseCurveSet1Type tag type data.
Object Model
Syntax
public class IccResponseCurveSet16TagType : IccTagTypeBase 
'Declaration
 
Public Class IccResponseCurveSet16TagType 
   Inherits IccTagTypeBase
'Usage
 
Dim instance As IccResponseCurveSet16TagType

            

            
public ref class IccResponseCurveSet16TagType : public IccTagTypeBase 
Remarks
Example
Copy Code  
Imports Leadtools
Imports Leadtools.ColorConversion

Public Sub IccResponseCurveSet16TagTypeExample()
   ' load an Icc Profile
   Dim iccProfile As New IccProfileExtended(Path.Combine(LEAD_VARS.ImagesDir, "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(Path.Combine(LEAD_VARS.ImagesDir, "IccResponseCurveSet16TagTypeVB.icc"))
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.ColorConversion;

public void IccResponseCurveSet16TagTypeExample()
{
   // load an Icc Profile
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc");
   IccProfileExtended iccProfile = new IccProfileExtended(fileName);

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

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

Target Platforms

See Also

Reference

IccResponseCurveSet16TagType Members
Leadtools.ColorConversion Namespace
IccTagTypeBase Class
IccCurveTagType Class
IccDateTimeTagType Class
IccDataTagType Class
IccLookupTable16TagType Class
IccLookupTable8TagType Class
IccMeasurementTagType Class
IccNamedColor2TagType Class
IccParametricCurveTagType Class
IccViewingConditionsTagType Class
IccChromaticityTagType Class
IccColorantTableTagType Class
IccMultiLocalizedUnicodeTagType Class
IccColorantOrderTagType Class
IccLookupTableAToBTagType Class
IccLookupTableBToATagType Class
IccProfileSequenceDescriptionTagType Class
IccS15Fixed16ArrayTagType Class
IccSignatureTagType Class
IccTextTagType Class
IccU16Fixed16ArrayTagType Class
IccUint16ArrayTagType Class
IccUint32ArrayTagType Class
IccUint64ArrayTagType Class
IccUint8ArrayTagType Class
IccXyzTagType Class
IccUnknownTagType Class
IccTools Class
IccProfileExtended Class

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.