目录
一、前言
对象买了新相机,发现用的加边框水印App,居然要充值,才能导出原图清晰度的照片。我一听这个这么简单的需求,居然还要88块,咱俩都是学CS的,这韭菜可不兴做。反正批量处理照片的时候,还是电脑方便,一不做二不休,在万能的github上找了个别人的代码,按照我们的需求改了改。
二、介绍
参考的代码:
作者的Pillow版本比较旧了,开始没跑起来,遇到了'ImageDraw' object has no attribute 'textsize'的问题,看了下官方文档,textsize被去掉了,现在新的版本里面是textbox。修改之后总算能顺利运行。
10.0.0 (2023-07-01) - Pillow (PIL Fork) 10.4.0.dev0 documentation
然后,基于作者的代码,我进行了一些修改包括但不限于:
- 支持Pillow10以上的版本
- 支持Sony、Canon、大疆、iphone相机的照片边框水印添加
- 调整了水印样式
- 增加了Style1、2、3、4,共4种边框风格,可供使用者选择.
- Style4支持输入创作者名称(仅英文)
- 针对索尼A7C2设备,显示的设备名称从ILCE-7CM2改为Alpha 7C II
- 针对大疆Pocket3设备,显示的设备名称从PP-101改为Pocket 3
- 支持自定义输出图片的质量,100为原图,数字小于100进行压缩
由于做了多种水印边框的实现,将作者代码的水印生成单独拉了文件,方便后续添加不同的边框风格。然后个性化的设备名称判断也在devicename的文件中处理。
不过由于在别人的基础上修改,也不是办公代码,就自个瞎用用,就没怎么在意代码美观程度,请见谅。
三、使用办法
# -i input folder # -o output folder # -s style type # -a author name # -q quality 100为原图,不输入默认100 python3 cli.py -i prev/ -o after/ -s 1 -q 80 python3 cli.py -i prev/ -o after/ -s 2 -q 80 python3 cli.py -i prev/ -o after/ -s 3 -q 80 python3 cli.py -i prev/ -o after/ -s 4 -a ShiliChan -q 80