Breve explicación
A partir de los cuatro valores CMYK para cian, magenta, amarillo y negro se determinan tres valores de color para rojo, verde y azul y transparencia y se convierten a la siguiente notación: rgba (rojo, verde, azul, 1).
Cuando convertimos el color rojo, se compone de 0% de cian, 100% de magenta, 100% de amarillo y 0% de negro. La notación CMYK es entonces la siguiente: cmyk (0%, 100%, 100%, 0%).
Estos valores de color se convierten en un valor RGB. Esto da como resultado el valor de color en notación RGB con rgb (255, 0, 0, 1). Al convertir de CMYK a otro formato de color siempre se pierde precisión cromática. Dado que CMYK se calcula sin valor de transparencia, no es posible calcular a partir de él un color RGBA con transparencia.
Ejemplo de cálculo
Vamos a describir una conversión de cmyk a rgba utilizando el color Turquesa oscuro como ejemplo.
El valor de partida es el color en formato CMYK:
CMYK = cmyk (82%, 1%, 0%, 18%).
Estos valores se reparten entre los respectivos colores cian, magenta, amarillo y negro:
cyan = 82
Magenta = 1
amarillo = 0
negro = 18.
Ahora hay que convertir los valores de color del sistema de color CMYK al sistema decimal RGB. Como los colores no coinciden directamente, la conversión no es tan fácil. Los valores de color se determinan con ciertas fórmulas.
Rojo = 255 * ((1 - Cian / 100) * (1 - Negro / 100))
Verde = 255 * ((1 - Magenta / 100) * (1 - Negro / 100))
Azul = 255 * ((1 - Amarillo / 100) * (1 - Negro / 100))
En nuestro ejemplo, esto significa que al principio tenemos que calcular el valor para el rojo a partir del cian y el negro. Luego calculamos el valor del verde a partir del magenta y el negro. A continuación, calculamos el valor del azul a partir del amarillo y el negro. El resultado son los siguientes cálculos:
rojo = 255 * ((1 - 82 / 100) * (1 - 18 / 100))
rojo = 38
verde = 255 * ((1 - 1 / 100) * (1 - 18 / 100))
verde = 207
azul = 255 * ((1 - 0 / 100) * (1 - 18 / 100))
azul = 209
Para obtener el resultado de nuestro cálculo, ahora hay que convertir los valores decimales calculados a la notación RGB rgb (rojo, verde, azul, transparencia), donde el valor de la transparencia es siempre 1:
.
RGBA = rgba (38, 207, 209, 1)