←Select platform

IccCurveStructure Structure

Summary
Contains data of a curve structure that is used in the responseCurveSet16Type tag type.
Syntax
C#
C++/CLI
Python
public struct IccCurveStructure 
public value class IccCurveStructure : public System.ValueType  
class IccCurveStructure: 
Example
C#
using Leadtools; 
using Leadtools.ColorConversion; 
 
using Leadtools.Codecs; 
 
public string outputIccFile = Path.Combine(LEAD_VARS.ImagesDir, "IccResponseCurveSet16TagType.icc"); 
 
public void IccResponseCurveSet16TagTypeExample() 
{ 
   // Load an ICC profile 
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "InputProfile.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 
   iccProfile.GenerateIccFile(outputIccFile); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ColorConversion Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.