枕头:无法在 CMYK 图像中绘制具有正确颜色的文本

Pillow: Can't draw text with right color in CMYK image

我正在使用这个 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"))

我是不是漏了什么?

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

CMYK 是减色space,所以白色被定义为没有颜色,或者#00000000

Mark Ransom 离答案不远。

fill=0(不带引号)是用 CMYK 图像得到空白的方法。