public struct IccTagList
public value class IccTagList : public System.ValueType
class IccTagList:
using Leadtools;
using Leadtools.ColorConversion;
public void IccProfileExtendedConstructorExample()
{
// load an Icc Profile
string IccfileName = Path.Combine(LEAD_VARS.ImagesDir, "test_IccProfileExtendedCS.icc");
IccProfileExtended iccProfile = new IccProfileExtended(IccfileName);
// create the new header
IccHeader header = IccHeader.Empty;
header.CmmID = 0x6170706C; // any CMM ID
header.DeviceClass = IccProfileClassType.DeviceLinkClass;
header.ColorSpace = IccColorspaceType.LabData;
header.Pcs = IccColorspaceType.LabData;
header.ProfileSignature = 0x61637370; // any profile signature
header.Platform = IccPlatformSignatureType.MacintoshSignature;
header.Flags = IccProfileFlags.None;
header.Manufacturer = 0x46464549; // any manufacturer
header.Model = 0x0; // any model
header.Attributes = IccProfileMediaFlags.ColorMedia;
header.RenderingIntent = IccRenderingIntentType.AbsoluteColorimetric;
header.Creator = 0x46464549; // any creator
// set the system date/time as the date/time of the Icc Profile
System.DateTime sysDateTime = System.DateTime.Now;
IccDateTime iccDateTime = new IccDateTime((ushort)sysDateTime.Year,
(ushort)sysDateTime.Month,
(ushort)sysDateTime.Day,
(ushort)sysDateTime.Hour,
(ushort)sysDateTime.Minute,
(ushort)sysDateTime.Second);
header.DateTime = iccDateTime;
// copy the tag list
int counter, numberOfTags;
numberOfTags = iccProfile.TagList.Tags.Length;
IccTag[] tags = new IccTag[numberOfTags];
for (counter = 0; counter < numberOfTags; counter++)
{
tags[counter] = new IccTag(iccProfile.TagList.Tags[counter].Signature,
iccProfile.TagList.Tags[counter].Offset,
iccProfile.TagList.Tags[counter].Size);
}
IccTagList tagList = new IccTagList(tags);
// copy the tag data
byte[] tagData = new byte[iccProfile.TagData.Length];
iccProfile.TagData.CopyTo(tagData, 0);
// create the new ICC profile, the Data array parameter will not be passed, because it will be
// updated when calling UpdateDataArray() method.
IccProfileExtended newIccProfile = new IccProfileExtended(header, tagList, tagData, null);
// generate the profileId. For the time being, it will be filled with 0's
newIccProfile.GenerateProfileId();
// finally generate the new Icc Profile by updating the Data Array
// and then generating the file
newIccProfile.UpdateDataArray();
string IccExtfile = Path.Combine(LEAD_VARS.ImagesDir, "IccProfileExtendedConstructorCS.icc");
newIccProfile.GenerateIccFile(IccExtfile);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\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