Contains the responseCurveSet1Type tag type data.
Object Model
Syntax
Visual Basic (Declaration) | |
---|
Public Class IccResponseCurveSet16TagType
Inherits 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 Basic | Copy Code |
---|
Public Sub IccResponseCurveSet16TagTypeExample()
Dim iccProfile As New IccProfileExtended(LeadtoolsExamples.Common.ImagesPath.Path + "EmptyIcc.icc")
Dim numOfMeasTypes As Integer = 1
Dim numOfChannels As UShort = 1
Dim measurementCount(numOfChannels - 1) As Integer
measurementCount(0) = 0
Dim measurementOfPatch(numOfChannels - 1) As IccXyzNumber
measurementOfPatch(0) = New IccXyzNumber(IccTools.FromDoubleTo2bFixed2bNumber(0.0), _
IccTools.FromDoubleTo2bFixed2bNumber(1.0), _
IccTools.FromDoubleTo2bFixed2bNumber(2.0))
Dim respArrays(numOfChannels - 1) As IccResponseArrays
respArrays(0) = New IccResponseArrays()
ReDim respArrays(0).ResponseNumber(numOfMeasTypes - 1)
respArrays(0).ResponseNumber(0) = New IccResponse16Number(0, 0)
Dim curveStructure(numOfMeasTypes - 1) As IccCurveStructure
curveStructure(0) = New IccCurveStructure(IccMeasurementSignatureType.DN, measurementCount, measurementOfPatch, respArrays)
Dim responseDataOffsets(numOfMeasTypes - 1) As Integer
responseDataOffsets(0) = 0
Dim responseCurve As New IccResponseCurve(numOfChannels, responseDataOffsets, curveStructure)
Dim responseCurveSet16TagType As New IccResponseCurveSet16TagType(responseCurve)
iccProfile.AddTag(responseCurveSet16TagType, IccTag.OutputResponseTag, IccTagTypeBase.ResponseCurveSet16TypeSignature)
iccProfile.GenerateProfileId()
iccProfile.UpdateDataArray()
iccProfile.GenerateIccFile(LeadtoolsExamples.Common.ImagesPath.Path + "IccResponseCurveSet16TagTypeVB.icc")
End Sub |
C# | Copy Code |
---|
public void IccResponseCurveSet16TagTypeExample() { // load an Icc Profile string fileName = LeadtoolsExamples.Common.ImagesPath.Path + "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 = LeadtoolsExamples.Common.ImagesPath.Path + "IccResponseCurveSet16TagTypeCS.icc"; iccProfile.GenerateIccFile(IccfileName); } |
Remarks
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also