←Select platform

FromDoubleTo2bFixed2bNumber Method

Summary
Converts a fractional number into a value that is consistent with any of the ICC specification formats: u16FixedU16Number or u1Fixed15Number.
Syntax
C#
C++/CLI
Python
public static int FromDoubleTo2bFixed2bNumber( 
   double number 
) 
public: 
static int FromDoubleTo2bFixed2bNumber(  
   double number 
)  
def FromDoubleTo2bFixed2bNumber(self,number): 

Parameters

number
A fractional value.

Return Value

A value that is consistent with any of the ICC specification formats: u16FixedU16Number or u1Fixed15Number.

Remarks
  • The ICC specification formats (u16FixedU16Number and u1Fixed15Number) consist of a 4-bytes value that have its first 2-bytes as the fixed part of the number, and the second 2-bytes as the fractional part of the number.
Example
C#
using Leadtools; 
using Leadtools.ColorConversion; 
 
 
public void IccParametricCurveTagTypeExample() 
{ 
   // load an Icc Profile 
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "ReadFromImageCS.icc"); 
   IccProfileExtended iccProfile = new IccProfileExtended(fileName); 
 
   // we know that we will have 1 parameter for our function, 
   // we knoe that from the specification page 56, table 47 
   // we will fill it directly, define the function parameters 
   int[] parameters = new int[1]; 
   parameters[0] = IccTools.FromDoubleTo2bFixed2bNumber(5.0); 
 
   // to read the number back 
   double myDoubleValue = IccTools.From2bFixed2bNumberToDouble(parameters[0]); 
 
   // create the IccParametricCurve class 
   IccParametricCurve parametricCurve = new IccParametricCurve(IccFunctionsType.Function4Bytes, parameters); 
 
   // define the tag type 
   IccParametricCurveTagType parametricCurveTagType = new IccParametricCurveTagType(parametricCurve); 
 
   // add the new tag to the ICC Profile 
   iccProfile.AddTag(parametricCurveTagType, IccTag.GrayTRCTag, IccTagTypeBase.ParametricCurveTypeSignature); 
 
   // 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, "IccParametricCurveTagTypeCS.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.