public class IccResponseCurveSet16TagType : IccTagTypeBase
public ref class IccResponseCurveSet16TagType : public IccTagTypeBase
class IccResponseCurveSet16TagType(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, "ReadFromImageCS.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:\LEADTOOLS22\Resources\Images";
}
IccResponseCurveSet16TagType Members
Leadtools.ColorConversion Namespace
IccParametricCurveTagType Class
IccViewingConditionsTagType Class
IccMultiLocalizedUnicodeTagType Class
IccLookupTableAToBTagType Class
IccLookupTableBToATagType Class
IccProfileSequenceDescriptionTagType Class
IccS15Fixed16ArrayTagType Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document