Conversion Given an ICM Profile (Visual Basic)

1.

Define the following global variables:

Dim ClrHandle As Long 
Dim cnvParam As CONVERSION_PARAMS 
Dim wtPoint As WHITEPOINT 'this needs to be defined in VB, because its member in CONVERSION_PARAMS can't be accessed since it is a pointer and not a structure 
Dim RGBColor(3) As Byte 
Dim ColorSpace(4) As Byte 

2.

Set the conversion options by filling a CONVERSION_PARAMS structure:

wtPoint.nWhitePoint = CIELAB_D50 
wtPoint.xWhite = 0 
wtPoint.yWhite = 0 
cnvParam.uStructSize = Len(cnvParam) 
cnvParam.nQuantization = 8 
cnvParam.nMethod = USE_CUSTOM_ICC 
cnvParam.nActiveMethod = USE_CUSTOM_ICC 
cnvParam.pCmykParams = 0 
cnvParam.pLabParams = 0 
cnvParam.pYuvParams = 0 
cnvParam.sDstInputTable(0) = 0 
cnvParam.pWpoint = VarPtr(wtPoint) 
cnvParam.pMemInputProfile = 0 
cnvParam.pMemOutputProfile = 0 
Dim str1 As String 
str1 = "C:\\MyRGBProfile.ICM" 
Dim i As Integer 
For i = 0 To Len(str1) - 1 
   cnvParam.sInputProfile(i) = Asc(Right(str1, Len(str1) - i)) 
Next i 
str1 = "C:\\MyRGBProfile.ICM" 
For i = 0 To Len(str1) - 1 
   cnvParam.sOutputProfile(i) = Asc(Right(str1, Len(str1) - i)) 
Next i 

3.

Initialize the color conversion handle with L_ClrInit ():

L_ClrInit ClrHandle, CCS_CMYK, CCS_RGB, cnvParam 

4.

Now, do the conversion:

ColorSpace(0) = 100 
ColorSpace(1) = 100 
ColorSpace(2) = 100 
ColorSpace(3) = 100 
L_ClrConvert ClrHandle, ColorSpace(0), RGBColor(0), 1, 1, 0, 0 

5.

At the end, free the color conversion handle:

L_ClrFree ClrHandle 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Color Conversion C API Help