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



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

我错过了什么吗?

Mark Ransom离答案不远了。

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

根据

文档,仅当模式为灰度时,才向ImageColor添加模式。不要指望它会转换为 CMYK。

CMYK 是一种减色空间,因此白色被定义为没有颜色或#00000000

最新更新