Ну, CMYK основан на шкале 0-100, в отличие от RGB, который составляет 0-255.Таким образом, в CMYK есть только 100 «оттенков серого» против 256 в RGB.
Попробуйте «babelfishing» входное значение RGB;конвертируйте его в CMYK, используя любой алгоритм конвертации, который вам нравится, затем конвертируйте ТО обратно в RGB, чтобы получить «самое близкое соответствие».Пока вы можете затем преобразовать это самое близкое соответствие в CMYK и обратно до тошноты, вы нашли значение RGB, которое будет переводить 1: 1 в RGB.Если цвет продолжает искажаться, возможно, что-то не так с преобразованием, так или иначе.Я не знаю особенностей преобразования RGB-CMYK, и не существует только одного алгоритма.
РЕДАКТИРОВАТЬ: Проверьте замечание в нижней части этого конвертера RGB-> CMYK: http://web.forret.com/tools/color.asp?R=85&G=85&B=68.В соответствии с этим, CMYK может представлять БОЛЬШЕ цветов, чем RGB, из-за дополнительного измерения черного.Я называю shenanigans, но я думаю, что это снова зависит от вашей конкретной реализации конвертера.Википедия просто говорит, что это «сложно», потому что значения CMYK более аппаратно-зависимы, чем RGB.