Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';t python colormath是否将sRGB转换为Adobe RGB?_Python_Color Space - Fatal编程技术网

为什么可以';t python colormath是否将sRGB转换为Adobe RGB?

为什么可以';t python colormath是否将sRGB转换为Adobe RGB?,python,color-space,Python,Color Space,这似乎是一个如此简单的问题,正是colormath设计的目的。但是调用convert\u color似乎返回传入的相同对象。根据说明,失败的转换应引发未定义的转换器错误,而不是返回对象 >>> from colormath.color_objects import sRGBColor, AdobeRGBColor >>> from colormath.color_conversions import convert_color >>> srg

这似乎是一个如此简单的问题,正是
colormath
设计的目的。但是调用
convert\u color
似乎返回传入的相同对象。根据说明,失败的转换应引发未定义的转换器错误,而不是返回对象

>>> from colormath.color_objects import sRGBColor, AdobeRGBColor
>>> from colormath.color_conversions import convert_color
>>> srgb = sRGBColor(0.0, 1.0, 0.0)
>>> srgb
sRGBColor(rgb_r=0.0,rgb_g=1.0,rgb_b=0.0)
>>> argb = convert_color(srgb, AdobeRGBColor)
>>> argb
sRGBColor(rgb_r=0.0,rgb_g=1.0,rgb_b=0.0)
>>> argb is srgb
True
转换到
Lab
确实有效,所以我不确定问题出在哪里

>>> from colormath.color_objects import LabColor
>>> convert_color(srgb, LabColor)
LabColor(lab_l=87.73500278716472,lab_a=-86.1829494051608,lab_b=83.1795364492565)

使用示例的定义中
转换
变量的内容是一个空列表,这意味着没有要执行的转换,因此定义不会失败,并返回使用原始sRGB颜色初始化的
新颜色
。我不太清楚为什么会这样

或者,我是另一个适用于您案例的Python API的维护者,但是它可能比
colormath
更复杂,因为不抽象转换:

导入颜色
color.RGB_至_RGB(
(0, 1, 0), 
color.models.sRGB_颜色空间,
颜色。模型。ADOBE_RGB_1998_颜色空间)
#数组([0.28488056,1,0.04116936])