Contains the responseCurveSet1Type tag type data.
public class IccResponseCurveSet16TagType : IccTagTypeBase
Public Class IccResponseCurveSet16TagType
Inherits Leadtools.Colorconversion.IccTagTypeBase
public ref class IccResponseCurveSet16TagType : public Leadtools.Colorconversion.IccTagTypeBase
This example method can be used in creating an "responseCurveSet16Type" mentioned in the ICC.1:2004-10 specification.
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";
}
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
IccResponseCurveSet16TagType Members
Leadtools.ColorConversion Namespace
IccParametricCurveTagType Class
IccViewingConditionsTagType Class
IccMultiLocalizedUnicodeTagType Class
IccLookupTableAToBTagType Class
IccLookupTableBToATagType Class
IccProfileSequenceDescriptionTagType Class
IccS15Fixed16ArrayTagType Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.