如何在保持原始文件扩展名的同时保存修改后的图像文件名

Posted

技术标签:

【中文标题】如何在保持原始文件扩展名的同时保存修改后的图像文件名【英文标题】:How to save an ammended image filename while maintaining an original file extention 【发布时间】:2021-05-06 15:40:55 【问题描述】:

我的任务是使用 python 枕头为图像添加水印。该函数应该接受两个参数:1.图像文件的名称和2.Message - 这是应该在图像上加水印的文本

该函数应使用原始文件的名称保存带水印的图像,并在句点之前的名称后附加“_zz”。

我使用了“经典”python 枕头方法:

def watermark (name, message):
    from PIL import Image, ImageDraw, ImageFont
    im = Image.open(name)
    width, height = im.size
    draw = ImageDraw.Draw(im)
    text = message
    font = ImageFont.truetype('arial.ttf', 36)
    textwidth, textheight = draw.textsize(text, font)
    margin = 10
    x = width - textwidth - margin
    y = height - textheight - margin
    draw.text((x, y), text, font=font)

    im.show()
    im.save(name+'_zz') # incorrect of course

我不知道如何保存将“_zz”修改为文件名而不是扩展名的文件。 我是Python新手,请耐心等待...

【问题讨论】:

***.com/questions/8384737/… 【参考方案1】:

酷!我正在回答我自己的问题......非常简单: `

    e=name.split(".")[-1]
    n=name.split(".")[0]
    wm_name=(n+'_zz'+'.'+e)

    im.save(zz_name)

`

【讨论】:

以上是关于如何在保持原始文件扩展名的同时保存修改后的图像文件名的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 上使用修改后的元数据(无重新编码)保存原始图像数据

如何使用原始文件名保存裁剪的图像?

如何将图像保存在 android Q 的子目录中,同时保持向后兼容

如何在保持分辨率的同时将2D float numpy数组无损保存到灰度图像中?

我只想将裁剪后的图像保存到图库中。但它保存了原始的完整图像。如何只保存裁剪的图像?

如何保存为新文件并继续处理Vim中的原始文件?