python - 如何在 python 中将 RGB 转换为 CMYK,反之亦然?

标签 python colors

如果我有一个 RGB 小数,例如 255, 165, 0,我该怎么做才能将其转换为 CMYK?

例如:

>>> red, green, blue = 255, 165, 0
>>> rgb_to_cmyk(red, green, blue)
(0, 35, 100, 0)

最佳答案

这是 Javascript implementation 的 Python 端口.

RGB_SCALE = 255
CMYK_SCALE = 100


def rgb_to_cmyk(r, g, b):
    if (r, g, b) == (0, 0, 0):
        # black
        return 0, 0, 0, CMYK_SCALE

    # rgb [0,255] -> cmy [0,1]
    c = 1 - r / RGB_SCALE
    m = 1 - g / RGB_SCALE
    y = 1 - b / RGB_SCALE

    # extract out k [0, 1]
    min_cmy = min(c, m, y)
    c = (c - min_cmy) / (1 - min_cmy)
    m = (m - min_cmy) / (1 - min_cmy)
    y = (y - min_cmy) / (1 - min_cmy)
    k = min_cmy

    # rescale to the range [0,CMYK_SCALE]
    return c * CMYK_SCALE, m * CMYK_SCALE, y * CMYK_SCALE, k * CMYK_SCALE

关于python - 如何在 python 中将 RGB 转换为 CMYK,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14088375/

相关文章:

python - jinja + form + unicode 控制字符 + xml/docx 集成

python - 如何使用Report Lab 的 Canvas drawImage() 插入图像?

regex - 类似于grep的工具,可以着色/加粗但不过滤?

matlab - 在 MATLAB 中对 HSV 颜色空间建模

c# - 从 argb 数获取单一颜色值

eclipse - 在 Eclipse 上调试时更改可变悬停窗口背景

python - 获取 key 中的第二项

python - 如何从我的父文件夹的父目录导入模块?

python - pyechonest(Echo Nest python 库)如何在本地收集当前艺术家的数据?

vb.net - 需要更快的方法来根据另一种颜色替换图像中的颜色