如何用Python为图片右下角水印添加白色背景框增强可见性
给水印添加白色背景框的实现方法
核心逻辑
先根据水印文本的尺寸,在预设的右下角位置绘制带留白的白色矩形背景,再在背景上方叠加深色水印文字,通过强烈色彩对比解决暗背景下文字模糊的问题。
基于PIL库的代码实现
假设你已完成彩色素描转换,以下是关键代码片段:
from PIL import Image, ImageDraw, ImageFont # 读取处理后的彩色素描图片 img = Image.open("processed_sketch.jpg").convert("RGB") draw = ImageDraw.Draw(img) # 水印配置 watermark_text = "自定义水印内容" font = ImageFont.truetype("simhei.ttf", 32) # 替换为你的字体路径和字号 text_color = (0, 0, 0) # 深色文字适配白色背景 bg_color = (255, 255, 255) # 白色背景框 # 计算位置(复用你已有的宽高逻辑) img_w, img_h = img.size text_w, text_h = draw.textsize(watermark_text, font=font) margin = 20 # 水印距图片边缘的距离 x = img_w - text_w - margin y = img_h - text_h - margin # 绘制带留白的背景框 padding = 6 # 文字与背景框的留白 draw.rectangle( [(x - padding, y - padding), (x + text_w + padding, y + text_h + padding)], fill=bg_color ) # 绘制水印文字 draw.text((x, y), watermark_text, font=font, fill=text_color) # 保存最终图片 img.save("watermarked_sketch.jpg")
注意事项
- 若使用OpenCV库,逻辑一致:先用
cv2.rectangle()绘制白色矩形,再用cv2.putText()叠加文字 - 字体文件需确保路径正确,无特殊字体可使用系统默认字体(如Windows的
simhei.ttf、Mac的PingFang.ttc)
内容的提问来源于stack exchange,提问作者Jerry Vfc
相关产品推荐
相关产品推荐

