public struct IccProfileDescription public value class IccProfileDescription : public System.ValueType class IccProfileDescription: using Leadtools;using Leadtools.ColorConversion;using Leadtools.Codecs;public string outputIccProfile = Path.Combine(LEAD_VARS.ImagesDir, "ColorConversion", "GetIccProfileTag", "IccProfileSequenceDescriptionTagType.icc");public void IccProfileSequenceDescriptionTagTypeExample(){// Load an ICC profilestring fileName = Path.Combine(LEAD_VARS.ImagesDir, "ColorConversion", "InputProfile.icc");IccProfileExtended iccProfile = new IccProfileExtended(fileName);// Define the device attributes must be 8 bytesbyte[] deviceAttribs = new byte[8] { 0, 0, 0, 0, 0, 0, 0, 0 };// Define the device manufacturer and model descriptionsIccMultiLocalizedUnicodeTagType devManufacturerDesc = FillIccMultiLocalizedUnicodeTagType();IccMultiLocalizedUnicodeTagType devModelDesc = FillIccMultiLocalizedUnicodeTagType();// If a tag type is used inside another tag type, it should be converted into BigIndian notation first// This can be done by calling the IccProfile.CreateICCTagData() methoddevManufacturerDesc = (IccMultiLocalizedUnicodeTagType)IccTools.CreateTagType(devManufacturerDesc, IccTagTypeBase.MultiLocalizedUnicodeTypeSignature);devModelDesc = (IccMultiLocalizedUnicodeTagType)IccTools.CreateTagType(devModelDesc, IccTagTypeBase.MultiLocalizedUnicodeTypeSignature);// Define the 1 profile descriptionsIccProfileDescription[] profileDescription = new IccProfileDescription[1];profileDescription[0] = new IccProfileDescription(0x46464549,0x0,deviceAttribs,IccTechnologySignatureType.None,devManufacturerDesc,devModelDesc);// Create the IccProfileSequenceDescription classIccProfileSequenceDescription profileSeqDesc = new IccProfileSequenceDescription(profileDescription);// Define the tag typeIccProfileSequenceDescriptionTagType profileSeqDescTagType = new IccProfileSequenceDescriptionTagType(profileSeqDesc);// Add the new tag to the ICC profileiccProfile.AddTag(profileSeqDescTagType, IccTag.ProfileSequenceDescTag, IccTagTypeBase.ProfileSequenceDescTypeSignature);// Generate the new profile IDiccProfile.GenerateProfileId();// Update the ICC array with the new changesiccProfile.UpdateDataArray();// Write the ICC profile into a new fileiccProfile.GenerateIccFile(outputIccProfile);}public IccMultiLocalizedUnicodeTagType FillIccMultiLocalizedUnicodeTagType(){ushort nameLanguageCode = 'e';nameLanguageCode <<= 8;nameLanguageCode |= 'n';ushort nameCountryCode = 'c';nameCountryCode <<= 8;nameCountryCode |= 'a';string[] names = new string[2];names[0] = "first name record";names[1] = "second name record";IccNameRecord[] nameRecord = new IccNameRecord[2];nameRecord[0] = new IccNameRecord(nameLanguageCode, nameCountryCode, names[0].Length * 2, 16 + (2 * 12));nameRecord[1] = new IccNameRecord(nameLanguageCode, nameCountryCode, names[1].Length * 2, ((16 + (2 * 12)) + (names[0].Length * 2)));char[] firstName = new char[names[0].Length];firstName = names[0].ToCharArray();char[] secondName = new char[names[1].Length];secondName = names[1].ToCharArray();ushort[] unicodeChars = new ushort[names[0].Length + names[1].Length];int nCntr = 0;int nX = 0;while (nX < names[0].Length){unicodeChars[nCntr] = firstName[nX];nX++;nCntr++;}nX = 0;while (nX < names[1].Length){unicodeChars[nCntr] = secondName[nX];nX++;nCntr++;}IccMultiLocalizedUnicode iccMultiLocalized = new IccMultiLocalizedUnicode(12, nameRecord, unicodeChars);IccMultiLocalizedUnicodeTagType iccMultiLocalizedTagType = new IccMultiLocalizedUnicodeTagType(iccMultiLocalized);return iccMultiLocalizedTagType;}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
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
