如何在Python中清除我在图像上写的内容?
我有一段代码,可以在一张图片上写文字,然后生成新的图片。
counter = 0
for a, b, c, d, e in data_cap:
# Add Text to an image
I1.text((269, 45), f"{a}", font=myFont, fill=(255, 255, 255))
I1.text((524, 45), f"{b}", font=myFont, fill=(255, 255, 255))
I1.text((390.5, 121.5), f"{c}", font=myFontSmall, fill=(255, 255, 255))
I1.text((500.9, 121.5), f"{d}", font=myFontSmall, fill=(255, 255, 255))
I1.text((610.5, 121.5), f"{e}", font=myFontSmall, fill=(255, 255, 255))
counter += 1
img.save(f"car{counter}.png")
这个代码的问题是,它会在生成的第一张图片上继续写东西。请问我该怎么做才能避免这种情况呢?
1 个回答
0
我在循环里加上了Image.open()这个函数来解决问题。现在代码看起来是这样的:
counter = 0
for a, b, c, d, e in data_cap:
img = Image.open(r'path')
draw = ImageDraw.Draw(img)
draw.text((131, 45), f"{a}", font=myFont, fill=(255, 255, 255))
draw.text((385.5, 45), f"{b}", font=myFont, fill=(255, 255, 255))
draw.text((252.5, 121.5), f"{c}", font=myFontSmall, fill=(255, 255, 255))
draw.text((362.9, 121.5), f"{d}", font=myFontSmall, fill=(255, 255, 255))
draw.text((473.5, 121.5), f"{e}", font=myFontSmall, fill=(255, 255, 255))
img.save(fr'path')
counter += 1