You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pillow库使用ImageDraw绘制文本设置fill参数报错如何解决

问题原因

该报错由原图的色彩模式导致:你使用的测试图片为索引彩色模式(P模式),这类图片的所有颜色都预先存储在固定大小的调色板中,无法直接使用调色板不存在的颜色(比如你设置的红色),且当前调色板容量已满无法新增颜色条目,所以触发了索引溢出错误。
不设置fill参数时看不到绘制文本,是因为默认填充色和背景重合,或同样受色彩模式限制无法正常渲染。

解决方案

打开图片后先转换为真彩色模式即可,修改后可运行的代码如下:

from PIL import Image, ImageDraw
# 不需要透明通道就把参数换成"RGB"即可
img = Image.open('test.png').convert("RGBA")

d = ImageDraw.Draw(img)
d.text((100, 100), "HELLO", fill="red")

img.save('testssss.png')

convert方法会把索引模式的图片转为不受调色板限制的真彩色模式,之后可以任意使用自定义颜色绘制内容,不会再触发报错。

内容的提问来源于stack exchange,提问作者cutebear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:09:02