views:

24

answers:

1

How to convert HSV color directly to CMYK color?

Bonus points for mentioning JavaScript library that does that.

I've seen only solutions that convert HSV to RGB and then RGB to CMYK.

+1  A: 

The only solution I'm aware of is to convert to RGB as a middle tier and then convert it out to the format you want (CMYK->RGB->HSV Or HSV->RGB->CMYK) like you mentioned. I'm not sure if it's something to do with the math or another reason entirely but here is a library from the web tool kit that will at least let you get the conversion done.

A little more reading on my part turned up this:

HSL and HSV are defined purely with reference to some RGB space, they are not absolute color spaces: to specify a color precisely requires reporting not only HSL or HSV values, but also the characteristics of the RGB space they are based on, including the gamma correction in use.

Source

Essentially from what I can gather HSV and HSL can't be directly converted because they're not absolute colour spaces as they need elements of RGB space that they are based upon to be meaningful. Now I'm not a color expert but I would venture that this could be why you can't directly convert between HSV and CMYK and I would assume that this is the process that goes on under the covers of conversion engines (like the web based ones) that seem to convert directly.

JonVD
Thank you very much for this answer.
Kamil Szot
Not a problem, color is always an interesting one.
JonVD