A quem possa interessar seguem as função para conversão de cores nos padrões Hexadecimal e CMYK para RGB:
// Função para conversão do padrão Hexadecimal para RGB. //
Static Function fHexToRGB( pHex )
Local cHex := AllTrim( StrTran( pHex, "#", "" ) )
Local nR := 0
Local nG := 0
Local nB := 0
Local aRet := Array( 3 )
If Len( cHex ) == 3
nR := __HexToDec( SubStr( cHex, 1, 2 ) + SubStr( cHex, 1, 2 ) )
nG := __HexToDec( SubStr( cHex, 3, 2 ) + SubStr( cHex, 3, 2 ) )
nB := __HexToDec( SubStr( cHex, 5, 2 ) + SubStr( cHex, 5, 2 ) )
Else
nR := __HexToDec( SubStr( cHex, 1, 2 ) )
nG := __HexToDec( SubStr( cHex, 3, 2 ) )
nB := __HexToDec( SubStr( cHex, 5, 2 ) )
EndIf
aRet[1] := nR
aRet[2] := nG
aRet[3] := nB
Return( aRet )
// Função para conversão do padrão CMYK para RGB. //
Static Function fCMYKToRGB( pC, pM, pY, pK )
Local nR := 255 * ( 1 - ( pC / 100 ) ) * ( 1 - ( pK / 100 ) )
Local nG := 255 * ( 1 - ( pM / 100 ) ) * ( 1 - ( pK / 100 ) )
Local nB := 255 * ( 1 - ( pY / 100 ) ) * ( 1 - ( pK / 100 ) )
Local aRet := Array( 3 )
aRet[1] := Round( nR, 0 )
aRet[2] := Round( nG, 0 )
aRet[3] := Round( nB, 0 )
Return( aRet )