【发布时间】:2020-10-07 21:45:05
【问题描述】:
我正在使用 python/PIL 在一组 PNG 图像上编写文本。我能够得到我想要的字体,但现在我想用黑色勾勒出文本。
这就是我所拥有的: 如您所见,如果背景为白色,则难以阅读。
这是目标:
有没有办法用 PIL 来完成这个?如果没有,我愿意听取其他建议,但没有任何承诺,因为我已经使用 PIL 在 python 中开始了一个大型项目。
处理图像绘制的代码部分:
for i in range(0,max_frame_int + 1):
writeimg = Image.open("frameinstance" + str(i) + ".png")
newimg = Image.new("RGB", writeimg.size)
newimg.paste(writeimg)
width_image = newimg.size[0]
height_image = newimg.size[1]
draw = ImageDraw.Draw(newimg)
# font = ImageFont.truetype(<font-file>, <font-size>)
for font_size in range(50, 0, -1):
font = ImageFont.truetype("impact.ttf", font_size)
if font.getsize(meme_text)[0] <= width_image:
break
else:
print('no fonts fit!')
# draw.text((x, y),"Sample Text",(r,g,b))
draw.text((int(0.05*width_image), int(0.7*height_image)),meme_text,(255,255,255),font=font)
newimg.save("newimg" + str(i) +".png")
【问题讨论】:
-
'如果背景为白色,则难以阅读'。可能不是故意的,但那张照片,这句话很搞笑!
-
看起来
Pillow大约在一年前添加了一个用于大纲文本的选项。 This is a solution which shows you how to do that -
这能回答你的问题吗? Outline text on image in Python
标签: python image python-3.x image-processing python-imaging-library