←Select platform

FromDoubleToU8Fixed8Number Method

Summary
Converts a fractional number into a value that is consistent with the ICC specification format: u8Fixed8Number.
Syntax
C#
C++/CLI
Python
public static ushort FromDoubleToU8Fixed8Number( 
   double number 
) 
public: 
static ushort FromDoubleToU8Fixed8Number(  
   double number 
)  
def FromDoubleToU8Fixed8Number(self,number): 

Parameters

number
A fractional value.

Return Value

A value that is consistent with the ICC specification format u8Fixed8Number.

Remarks
  • The ICC specification format (u8FixedU8Number) consist of a 2-bytes value that have its first bytes as the fixed part of the number, and the second bytes as the fractional part of the number.
Example
C#
using Leadtools; 
using Leadtools.ColorConversion; 
 
 
public void IccCurveTagTypeExample() 
{ 
   // load an Icc Profile 
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "ReadFromImageCS.icc"); 
   IccProfileExtended iccProfile = new IccProfileExtended(fileName); 
 
   // preparing curve data, it consists of domain and range values 
   // if we have 1 value, it should be in the u8Fixed8Number format, 
   // and if we have more than 1 value, their type should be uInt16Number (ushort), 
   // in this example we will use 1 value, look at the VB example for more 
   // than 1 value curve data example 
   // for more information about domain and range values refer to  
   // ICC.1:2004-10 specification page 39. 
   double myDoubleValue = 1.5; 
   ushort[] curveData = new ushort[1]; 
   curveData[0] = IccTools.FromDoubleToU8Fixed8Number(myDoubleValue); 
 
   // to read the value back from the curve data use the following function 
   myDoubleValue = IccTools.FromU8Fixed8NumberToDouble(curveData[0]); 
 
   // create the new iccCurveType 
   IccCurve iccCurve = new IccCurve(curveData); 
 
   // define the tag type 
   IccCurveTagType iccCurveTagType = new IccCurveTagType(iccCurve); 
 
   // add the new tag to the ICC Profile 
   iccProfile.AddTag(iccCurveTagType, IccTag.GrayTRCTag, IccTagTypeBase.CurveTypeSignature); 
 
   // 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, "IccCurveTagTypeCS.icc"); 
   iccProfile.GenerateIccFile(IccfileName); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.ColorConversion Assembly

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