Leadtools.ColorConversion Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.5.7
IccCurveTagType Class
See Also  Members   Example 
Leadtools.ColorConversion Namespace : IccCurveTagType Class




Contains the curveType tag type data.

Object Model


Syntax

Visual Basic (Declaration) 
Public Class IccCurveTagType 
   Inherits IccTagTypeBase
Visual Basic (Usage)Copy Code
Dim instance As IccCurveTagType
C# 
public class IccCurveTagType : IccTagTypeBase 
Managed Extensions for C++ 
public __gc class IccCurveTagType : public IccTagTypeBase 
C++/CLI 
public ref class IccCurveTagType : public IccTagTypeBase 

Example

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

Visual BasicCopy Code
Public Sub IccCurveTagTypeExample()
   ' load an Icc Profile
   Dim iccProfile As New IccProfileExtended("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\IccCurveTagTypeVB.icc")
End Sub
C#Copy Code
public void IccCurveTagTypeExample() 

   // load an Icc Profile 
   IccProfileExtended iccProfile = new IccProfileExtended(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\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 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 
   iccProfile.GenerateIccFile(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\IccCurveTagTypeCS.icc"); 
}

Remarks

Inheritance Hierarchy

System.Object
   Leadtools.ColorConversion.IccTagTypeBase
      Leadtools.ColorConversion.IccCurveTagType

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also