当执行以下代码时,第一个输出文件可以正常工作,但是第二个输出文件则从列表中的第一项和第二项中提取文本。对于每次迭代,文本都会继续累积。但是,文件名很好,不会累积。
def write_text_to_image(names_list):
from PIL import Image, ImageDraw, ImageFont
image = Image.open("t.bmp")
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('arial.ttf', 132)
for name in names_list:
draw.text((150, 905), name, font = font, fill = (0, 0, 0))
image.save(name + ".bmp")
最佳答案
我回答了法比奥自己的想法对我有帮助的问题。我不得不在for循环中移动图像分配。
def write_text_to_image(names_list):
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype('arial.ttf', 132)
for name in names_list:
image = Image.open("t.bmp")
draw = ImageDraw.Draw(image)
draw.text((150, 905), name, font = font, fill = (0, 0, 0))
image.save(name + ".bmp")
关于python - 在Python中使用ImageDraw.Draw(image)循环会导致覆盖文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40761545/