Contains the curveType tag type data.
public class IccCurveTagType : IccTagTypeBase
Public Class IccCurveTagType
Inherits IccTagTypeBase
public ref class IccCurveTagType : public IccTagTypeBase
This example method can be used in creating an "curveType" mentioned in the ICC.1:2004-10 specification
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:\Users\Public\Documents\LEADTOOLS 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:\Users\Public\Documents\LEADTOOLS Images"
End Class
Leadtools.ColorConversion Namespace
IccParametricCurveTagType Class
IccResponseCurveSet16TagType 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