在图像上叠加文本的PIL/Pillow替代方案
有没有什么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')