如何在Python中将RGB转换为CMYK和反之亦然? [英] How can I convert RGB to CMYK and vice versa in python?
本文介绍了如何在Python中将RGB转换为CMYK和反之亦然?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我有一个RGB十进制,例如 255,165,0
,我该怎么做才能将其转换为CMYK?
If I had a RGB decimal such as 255, 165, 0
, what could I do to convert this to CMYK?
例如:
>>> red, green, blue = 255, 165, 0
>>> rgb_to_cmyk(red, green, blue)
(0, 35, 100, 0)
推荐答案
这里是一个 Javascript实现的Python端口。
Here's a Python port of a Javascript implementation.
cmyk_scale = 100
def rgb_to_cmyk(r,g,b):
if (r == 0) and (g == 0) and (b == 0):
# black
return 0, 0, 0, cmyk_scale
# rgb [0,255] -> cmy [0,1]
c = 1 - r / 255.
m = 1 - g / 255.
y = 1 - b / 255.
# 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中将RGB转换为CMYK和反之亦然?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文