在图像上叠加文本的PIL/Pillow替代方案

1 投票
1 回答
2299 浏览
提问于 2025-04-18 16:55

有没有什么Python的替代方案可以把文字覆盖在图片上?我试过用PIL/Pillow这个库,但输出的效果很模糊,还有很多杂点。

这是我的代码:

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

img = Image.open("image.jpg")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("Comic Sans MS.ttf", 24)
draw.text((150, 20),"Sample Text",(170,14,179), font=font)
img.save('sample-out123.jpg')

这是输出的效果:

在这里输入图片描述

你可以看到文字周围有杂点,还有淡淡的紫色光晕。

1 个回答

4

这是一个关于JPEG图片的已知问题

你可以尝试调整一下图片的质量:

img.save('sample-out123.jpg', quality=95)

或者,可以把它保存为PNG格式。

img.save('sample-out123.png')

撰写回答