Contains the namedColor2Type tag type data.
public class IccNamedColor2TagType : IccTagTypeBase
Public Class IccNamedColor2TagType
Inherits Leadtools.Colorconversion.IccTagTypeBase
public ref class IccNamedColor2TagType : public Leadtools.Colorconversion.IccTagTypeBase
This example method can be used in creating an "namedColor2Type" mentioned in the ICC.1:2004-10 specification.
using Leadtools;
using Leadtools.ColorConversion;
public void IccNamedColor2TagTypeExample()
{
// load an Icc Profile
string fileName = Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc");
IccProfileExtended iccProfile = new IccProfileExtended(fileName);
// define the color root names
byte[] colorRootName1 = new byte[32];
colorRootName1[0] = (byte)'a';
colorRootName1[1] = (byte)'n';
colorRootName1[2] = (byte)'y';
colorRootName1[3] = (byte)' ';
colorRootName1[4] = (byte)'n';
colorRootName1[5] = (byte)'a';
colorRootName1[6] = (byte)'m';
colorRootName1[7] = (byte)'e';
colorRootName1[8] = (byte)'1';
colorRootName1[9] = (byte)0;
byte[] colorRootName2 = new byte[32];
colorRootName2[0] = (byte)'a';
colorRootName2[1] = (byte)'n';
colorRootName2[2] = (byte)'y';
colorRootName2[3] = (byte)' ';
colorRootName2[4] = (byte)'n';
colorRootName2[5] = (byte)'a';
colorRootName2[6] = (byte)'m';
colorRootName2[7] = (byte)'e';
colorRootName2[8] = (byte)'2';
colorRootName2[9] = (byte)0;
// define color PCS coordinates, must be 3 values only
ushort[] colorPCSCoords = new ushort[3] { 1, 2, 3 };
// and then define the Device coordinates
ushort[] colorDEVCoords = new ushort[4] { 4, 3, 2, 1 };
// define two named color data
IccNamedColor2Data[] namedColors = new IccNamedColor2Data[2];
namedColors[0] = new IccNamedColor2Data(colorRootName1, colorPCSCoords, colorDEVCoords);
namedColors[1] = new IccNamedColor2Data(colorRootName2, colorPCSCoords, colorDEVCoords);
// any vendor flag
int vendorFlag = 0x00001234;
// the prefix for each color name, must be 32 bytes
byte[] prefix = new byte[32];
prefix[0] = (byte)'a';
prefix[1] = (byte)'n';
prefix[2] = (byte)'y';
prefix[3] = (byte)' ';
prefix[4] = (byte)'p';
prefix[5] = (byte)'r';
prefix[6] = (byte)'e';
prefix[7] = (byte)'f';
prefix[8] = (byte)'i';
prefix[9] = (byte)'x';
prefix[10] = (byte)0;
// the suffix for each color name, must be 32 bytes
byte[] suffix = new byte[32];
suffix[0] = (byte)'a';
suffix[1] = (byte)'n';
suffix[2] = (byte)'y';
suffix[3] = (byte)' ';
suffix[4] = (byte)'s';
suffix[5] = (byte)'u';
suffix[6] = (byte)'f';
suffix[7] = (byte)'f';
suffix[8] = (byte)'i';
suffix[9] = (byte)'x';
suffix[10] = (byte)0;
// create the IccNamedColor2 class
IccNamedColor2 iccNamedColor2 = new IccNamedColor2(vendorFlag, prefix, suffix, namedColors);
// define the tag type
IccNamedColor2TagType namedColor2TagType = new IccNamedColor2TagType(iccNamedColor2);
// add the new tag to the ICC Profile
iccProfile.AddTag(namedColor2TagType, IccTag.NamedColor2Tag, IccTagTypeBase.NamedColor2TypeSignature);
// 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, "IccNamedColor2TagTypeCS.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 IccNamedColor2TagTypeExample()
' load an Icc Profile
Dim iccProfile As New IccProfileExtended(Path.Combine(LEAD_VARS.ImagesDir, "EmptyIcc.icc"))
' define the color root names
Dim colorRootName1(31) As Byte
colorRootName1(0) = CByte(AscW("a"c))
colorRootName1(1) = CByte(AscW("n"c))
colorRootName1(2) = CByte(AscW("y"c))
colorRootName1(3) = CByte(AscW(" "c))
colorRootName1(4) = CByte(AscW("n"c))
colorRootName1(5) = CByte(AscW("a"c))
colorRootName1(6) = CByte(AscW("m"c))
colorRootName1(7) = CByte(AscW("e"c))
colorRootName1(8) = CByte(AscW("1"c))
colorRootName1(9) = 0
Dim colorRootName2(31) As Byte
colorRootName2(0) = CByte(AscW("a"c))
colorRootName2(1) = CByte(AscW("n"c))
colorRootName2(2) = CByte(AscW("y"c))
colorRootName2(3) = CByte(AscW(" "c))
colorRootName2(4) = CByte(AscW("n"c))
colorRootName2(5) = CByte(AscW("a"c))
colorRootName2(6) = CByte(AscW("m"c))
colorRootName2(7) = CByte(AscW("e"c))
colorRootName2(8) = CByte(AscW("2"c))
colorRootName2(9) = 0
' define color PCS coordinates, must be 3 values only
Dim colorPCSCoords() As UShort = {1, 2, 3}
' and then define the Device coordinates
Dim colorDEVCoords() As UShort = {4, 3, 2, 1}
' define two named color data
Dim namedColors() As IccNamedColor2Data = {
New IccNamedColor2Data(colorRootName1, colorPCSCoords, colorDEVCoords),
New IccNamedColor2Data(colorRootName2, colorPCSCoords, colorDEVCoords)}
' any vendor flag
Dim vendorFlag As Integer = &H1234
' the prefix for each color name, must be 32 bytes
Dim prefix(31) As Byte
prefix(0) = CByte(AscW("a"c))
prefix(1) = CByte(AscW("n"c))
prefix(2) = CByte(AscW("y"c))
prefix(3) = CByte(AscW(" "c))
prefix(4) = CByte(AscW("p"c))
prefix(5) = CByte(AscW("r"c))
prefix(6) = CByte(AscW("e"c))
prefix(7) = CByte(AscW("f"c))
prefix(8) = CByte(AscW("i"c))
prefix(9) = CByte(AscW("x"c))
prefix(10) = 0
' the suffix for each color name, must be 32 bytes
Dim suffix(31) As Byte
suffix(0) = CByte(AscW("a"c))
suffix(1) = CByte(AscW("n"c))
suffix(2) = CByte(AscW("y"c))
suffix(3) = CByte(AscW(" "c))
suffix(4) = CByte(AscW("s"c))
suffix(5) = CByte(AscW("u"c))
suffix(6) = CByte(AscW("f"c))
suffix(7) = CByte(AscW("f"c))
suffix(8) = CByte(AscW("i"c))
suffix(9) = CByte(AscW("x"c))
suffix(10) = 0
' create the IccNamedColor2 class
Dim namedColor2 As New IccNamedColor2(vendorFlag, prefix, suffix, namedColors)
' define the tag type
Dim namedColor2TagType As New IccNamedColor2TagType(namedColor2)
' add the new tag to the ICC Profile
iccProfile.AddTag(namedColor2TagType, IccTag.NamedColor2Tag, IccTagTypeBase.NamedColor2TypeSignature)
' 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, "IccNamedColor2TagTypeVB.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