←Select platform

GenerateIccFile Method

Generates an ICC profile.
public void GenerateIccFile( 
   string fileName 
void GenerateIccFile(  
   String^ fileName 
def GenerateIccFile(self,fileName): 


File name of the generated ICC profile.

using Leadtools; 
using Leadtools.ColorConversion; 
using Leadtools.Codecs; 
public string outputIccFile = Path.Combine(LEAD_VARS.ImagesDir, "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, 
   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( 
   // 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 
   // Generate the new ICC profile by updating the Data Array and then generating the file 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 

Target Platforms

Help Version 23.0.2024.2.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.