←Select platform

IccCurveTagType Class

Summary
Contains the curveType tag type data.
Syntax
C#
VB
C++
public class IccCurveTagType : IccTagTypeBase 
  
Public Class IccCurveTagType  
   Inherits IccTagTypeBase 
public ref class IccCurveTagType : public IccTagTypeBase  
Remarks
Example

This example method can be used in creating an "curveType" mentioned in the ICC.1:2004-10 specification

C#
VB
using Leadtools; 
using Leadtools.ColorConversion; 
 
 
public void IccCurveTagTypeExample() 
{ 
   // load an Icc Profile 
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc"); 
   IccProfileExtended iccProfile = new IccProfileExtended(fileName); 
 
   // preparing curve data, it consists of domain and range values 
   // if we have 1 value, it should be in the u8Fixed8Number format, 
   // and if we have more than 1 value, their type should be uInt16Number (ushort), 
   // in this example we will use 1 value, look at the VB example for more 
   // than 1 value curve data example 
   // for more information about domain and range values refere to  
   // ICC.1:2004-10 specification page 39. 
   double myDoubleValue = 1.5; 
   ushort[] curveData = new ushort[1]; 
   curveData[0] = IccTools.FromDoubleToU8Fixed8Number(myDoubleValue); 
 
   // to read the value back from the curve data use the following function 
   myDoubleValue = IccTools.FromU8Fixed8NumberToDouble(curveData[0]); 
 
   // create the new iccCurveType 
   IccCurve iccCurve = new IccCurve(curveData); 
 
   // define the tag type 
   IccCurveTagType iccCurveTagType = new IccCurveTagType(iccCurve); 
 
   // add the new tag to the ICC Profile 
   iccProfile.AddTag(iccCurveTagType, IccTag.GrayTRCTag, IccTagTypeBase.CurveTypeSignature); 
 
   // 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, "IccCurveTagTypeCS.icc"); 
   iccProfile.GenerateIccFile(IccfileName); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Imports Leadtools 
Imports Leadtools.ColorConversion 
 
Public Sub IccCurveTagTypeExample() 
   ' load an Icc Profile 
   Dim iccProfile As New IccProfileExtended(Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc")) 
 
   ' preparing curve data, it consists of domain and range values 
   ' if we have 1 value, it should be in the u8Fixed8Number format, 
   ' and if we have more than 1 value, their type should be uInt16Number (ushort), 
   ' in this example we will use more than 1 value, look at the CS example 
   ' 1 value curve data example 
   ' for more information about domain and range values refere to  
   ' ICC.1:2004-10 specification page 39. 
   Dim myDoubleValue As Double = 1.5 
   Dim curveData() As UShort = {1, 2, 3} 
 
   ' in case of 1 value, the value should be in the u8Fixed8Number format, you can accomplish this by 
   Dim dummyData As UShort = CType(IccTools.FromDoubleToU8Fixed8Number(myDoubleValue), UShort) 
 
   ' to read the value back from the curve data use the following function 
   myDoubleValue = IccTools.FromU8Fixed8NumberToDouble(dummyData) 
 
   ' create the new iccCurveType 
   Dim iccCurve As New IccCurve(curveData) 
 
   ' define the tag type 
   Dim iccCurveTagType As New IccCurveTagType(iccCurve) 
 
   ' insert the new tag type into the Icc Profile 
   iccProfile.AddTag(iccCurveTagType, IccTag.GrayTRCTag, IccTagTypeBase.CurveTypeSignature) 
 
   ' 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, "IccCurveTagTypeVB.icc")) 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images" 
End Class 
Requirements

Target Platforms

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

Leadtools.ColorConversion Assembly

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