每次做完手工,拍了一堆照片发朋友圈,却发现被人盗图?手工博主最头疼的就是作品保护。今天教你用 Python 写一个简单的批量水印工具,给你的手工照片批量加上专属标记!
为什么要用水印?
水印不是遮丑,是作品的身份证明。
一张精美的手工照片,配上你的名字或品牌 logo,既能防止盗用,又能让看到图片的人知道作者是谁。对于自媒体博主来说,每一张照片都是流量入口,保护作品就是保护心血。
准备工作:安装 Pillow
Python 处理图片最常用的库是 Pillow,安装很简单:
Pillow 是一个功能强大的图像处理库,可以读取、修改、保存几乎所有主流图片格式。
核心代码:批量添加文字水印
from PIL import Image, ImageDraw, ImageFontimport os# 配置参数input_folder = "手工照片"output_folder = "带水印照片"watermark_text = "@小趣手作"font_path = "C:/Windows/Fonts/simhei.ttf"def add_watermark(image_path, output_path): # 打开图片 img = Image.open(image_path) draw = ImageDraw.Draw(img) # 字体大小自适应 width, height = img.size font_size = int(height * 0.05) font = ImageFont.truetype(font_path, font_size) # 计算文字位置(右下角) bbox = draw.textbbox((0, 0), watermark_text, font=font) text_width = bbox[2] - bbox[0] text_height = bbox[3] - bbox[1] x = width - text_width - 30 y = height - text_height - 30 # 添加半透明阴影 draw.text((x+2, y+2), watermark_text, font=font, fill=(0,0,0,128)) # 添加白色文字 draw.text((x, y), watermark_text, font=font, fill=(255,255,255,255)) # 保存 img.save(output_path)# 批量处理if not os.path.exists(output_folder): os.makedirs(output_folder)for filename in os.listdir(input_folder): if filename.endswith((".jpg", ".png", ".jpeg")): input_path = os.path.join(input_folder, filename) output_path = os.path.join(output_folder, filename) add_watermark(input_path, output_path) print(f"已处理: {filename}")print("全部完成!")
代码解析
这段代码的核心思路很简单:
关键点在于字体大小自适应——根据图片高度动态计算字号,这样不管大图小图水印都合适。
进阶玩法:加 Logo 图片水印
如果你想要更个性化的效果,可以用自己的 logo 图片做水印:
logo = Image.open("logo.png").convert("RGBA")# 调整 logo 大小logo_width = int(width * 0.15)logo_height = int(logo_width * logo.height / logo.width)logo = logo.resize((logo_width, logo_height))# 粘贴到图片上img.paste(logo, (width-logo_width-20, height-logo_height-20), logo)
这样你的每一张照片都有了专属品牌标识!
💡 手工联动彩蛋
拍完手工作品后,先用这个脚本批量加水印,再发朋友圈或小红书。代码处理一百张照片只需几秒钟,比手动一张张加效率提升一百倍。
而且你可以随时修改水印文字、位置、透明度,一次调整,终身受益。
今日互动:你会给自己的作品加水印吗?用什么工具?欢迎在评论区分享你的版权保护经验~
— 小趣手作 · 代码与手工的奇妙相遇 —
2026年4月15日