Visual Basic (Declaration) | |
---|---|
Public Class IccResponseCurveSet16TagType Inherits IccTagTypeBase |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As IccResponseCurveSet16TagType |
C# | |
---|---|
public class IccResponseCurveSet16TagType : IccTagTypeBase |
C++/CLI | |
---|---|
public ref class IccResponseCurveSet16TagType : public IccTagTypeBase |
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() ' 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 |
C# | Copy Code |
---|---|
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"; } |
SilverlightCSharp | Copy Code |
---|---|
SilverlightVB | Copy Code |
---|---|
- 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.
System.Object
Leadtools.ColorConversion.IccTagTypeBase
Leadtools.ColorConversion.IccResponseCurveSet16TagType
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
Reference
IccResponseCurveSet16TagType MembersLeadtools.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