枕头:可以在CMYK图像中以正确的颜色绘制文本

时间:2015-01-10 19:03:37

标签: python python-imaging-library pillow

我使用此Pillow代码在RGB图像(PNG格式)上绘制白色文字:

draw.text((bg_x/2 - 75, 810),
    text=elt_id,
    font=fnt,
    fill="#ffffff")

效果很好。 现在,我正在使用带有TIFF文件的CMYK模式。上面的代码用黑色而不是白色绘制了文本。 我尝试用下面的代码进行更改,但它仍然是黑色的。

draw.text((bg_x/2 - 75, 810),
    text=elt_id,
    font=fnt,
    fill=ImageColor.getcolor("white", "CMYK"))

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

Mark Ransom离答案不远。

fill=0(不带引号)是通过CMYK图像获取空白的方法。

答案 1 :(得分:0)

根据the documentation,只有当模式为灰度时,才能将模式添加到ImageColor。不要期望它转换为CMYK。

CMYK是减色颜色空间,因此白色定义为缺少颜色,或#00000000