LEADTOOLS Color Conversion (Leadtools.ColorConversion assembly)
LEAD Technologies, Inc

IccCurveTagType Class

Example 





Members 
Contains the curveType tag type data. .NET support
Object Model
IccCurveTagType ClassIccCurve Structure
Syntax
public class IccCurveTagType : IccTagTypeBase 
'Declaration
 
Public Class IccCurveTagType 
   Inherits IccTagTypeBase
'Usage
 
Dim instance As IccCurveTagType
public sealed class IccCurveTagType : IccTagTypeBase 
function Leadtools.ColorConversion.IccCurveTagType()
public ref class IccCurveTagType : public IccTagTypeBase 
Remarks
Example
Copy CodeCopy Code  
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:\Users\Public\Documents\LEADTOOLS Images"
End Class
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:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

IccCurveTagType Members
Leadtools.ColorConversion Namespace
IccTagTypeBase Class
IccDateTimeTagType Class
IccDataTagType Class
IccLookupTable16TagType Class
IccLookupTable8TagType Class
IccMeasurementTagType Class
IccNamedColor2TagType Class
IccParametricCurveTagType Class
IccResponseCurveSet16TagType 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

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.