TranslateColors()颜色范围为RGB和CMYK

时间:2011-12-06 12:15:57

标签: c++ windows winapi visual-c++ mfc

我正在使用API​​ TranslateColors()将RGB转换为CYMK。我可以转换它。

http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.gdi/2007-10/msg00049.html

在上面的示例中,RGB值左移8并传递给上述函数。结果,CYMK右移8。

据我所知,CYMK值从0到1不等。但结果超过1。

任何人都可以告诉我如何在0-1中获得CYMK值。

1 个答案:

答案 0 :(得分:1)

RGB值介于0-255范围内 在0-1之间得到这个范围 你需要这样做:

ic[0].rgb.red = (255.0 / 255.0) << 8 ;
ic[0].rgb.green = (0 / 255.0);
ic[0].rgb.blue = (0 / 255.0);

基本上

value = value / max_range_of_value;

确保使用的变量是floatsdecimals(或支持小数的任何内容)。