←Select platform

GenerateProfileId Method

Summary
Generates the profile ID. Call this function right before calling GenerateIccFile.
Syntax
C#
C++/CLI
Python
public void GenerateProfileId() 
public: 
void GenerateProfileId();  
def GenerateProfileId(self): 
Example
C#
using Leadtools; 
using Leadtools.ColorConversion; 
 
using Leadtools.Codecs; 
 
public string outputIccFile = Path.Combine(LEAD_VARS.ImagesDir, "ColorConversion", "IccProfileExtended.icc"); 
public DateTime sysDateTime = DateTime.Now; // Get the current system data 
 
public void IccProfileExtendedExample() 
{ 
   // Define the IccProfileExtended Class 
   IccProfileExtended iccProfile = new IccProfileExtended(); 
 
   // Define the IccHeader class 
   IccHeader header = IccHeader.Empty; 
 
   // Fill the ICC header 
   // The Illuminant, ProfileSignature, and Version are filled with the default values in the IccProfile.Empty property 
   // The Size field will be filled automatically by the different ICC methods 
   // These should not be changed unless the user knows what they are doing 
   // The ProfileID which will be filled using the IccProfile.GenerateProfileId method 
   // This method must be called at the end when the ICC Profile is completely prepared 
   // The rest of the fields are the user's responsibility 
   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 
   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; 
             
   iccProfile.Header = header; 
 
   // Create and add required tags to the extended profile 
 
   // mediaBlackPointTag (needs the XYZ tag type) 
   // Define the array of XYZ numbers 
   IccXyzNumber[] data = new IccXyzNumber[1]; 
   data[0] = new IccXyzNumber( 
      IccTools.FromDoubleTo2bFixed2bNumber(1.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(2.0), 
      IccTools.FromDoubleTo2bFixed2bNumber(3.0)); 
   // Create the XYZ tag type 
   IccXyzTagType xyzTagType = new IccXyzTagType(data); 
   // Insert into the profile 
   iccProfile.AddTag(xyzTagType, IccTag.MediaBlackPointTag, IccTagTypeBase.XyzTypeSignature); 
 
   // calibrationDateTimeTag 
   // Define the tag type 
   IccDateTimeTagType dateTimeTagType = new IccDateTimeTagType(iccDateTime); 
   // Insert into the profile 
   iccProfile.AddTag(dateTimeTagType, IccTag.CalibrationDateTimeTag, IccTagTypeBase.DateTimeTypeSignature); 
 
   // This method shows how to get the tag type signature of any tag in the profile 
   int tagTypeSignature = iccProfile.GetTagTypeSignature(IccTag.MediaBlackPointTag); 
 
   // This method shows how to delete a specified tag 
   xyzTagType = (IccXyzTagType)iccProfile.DeleteTag(IccTag.MediaBlackPointTag); 
 
   // This method shows how to retrieve the value of a tag 
   dateTimeTagType = (IccDateTimeTagType)iccProfile.GetTag(IccTag.CalibrationDateTimeTag); 
 
   // Generate the profileId. For the time being, it will be filled with 0's 
   iccProfile.GenerateProfileId(); 
 
   // Generate the new ICC profile by updating the Data Array and then generating the file 
   iccProfile.UpdateDataArray(); 
   iccProfile.GenerateIccFile(outputIccFile); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.10.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ColorConversion Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.