Contains the curveType tag type data.
public class IccCurveTagType : IccTagTypeBase
Public Class IccCurveTagType
Inherits Leadtools.Colorconversion.IccTagTypeBase
public ref class IccCurveTagType : public Leadtools.Colorconversion.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
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.