当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程技术分享 > Python使用Pillow添加图片水印

Python使用Pillow添加图片水印

发布时间:2020年09月27日 10:57:59 来源: 点击量:1078

【摘要】如果在某个网站上发布了图片,希望在图片上会出现带标识的水印着怎么办呢。这个是个比较常见的需求,在Python中应该如何处理这一类需求呢?

如果在某个网站上发布了图片,希望在图片上会出现带标识的水印着怎么办呢。

这个是个比较常见的需求,在Python中应该如何处理这一类需求呢?

需要先安装Pillow: pip install pillow

Demo代码:

import sys
from PIL import Image, ImageDraw, ImageFont
def watermark_with_text(file_obj, text, color, fontfamily=None):
    image = Image.open(file_obj).convert('RGBA')
    draw = ImageDraw.Draw(image)
    width, height = image.size
    margin = 10
    if fontfamily:
        font = ImageFont.truetype(fontfamily, int(height / 20))
    else:
        font = None
    textWidth, textHeight = draw.textsize(text, font)
    x = (width - textWidth - margin) / 2  # 计算横轴位置
    y = height - textHeight - margin  # 计算纵轴位置
    draw.text((x, y), text, color, font)
    return image
if __name__ == '__main__':
    org_file = sys.argv[1]
    with open(org_file, 'rb') as f:
        image_with_watermark = watermark_with_text(f, 'py.com', 'red')
    with open('new_image_water.png', 'wb') as f:
        image_with_watermark.save(f)

使用方法: python watermart.py <图片地址>

这个只是把文本嵌入到图片中的实现,其实也可以嵌入一个图片进去的。具体可以参考pillow官方文档:

https://pillow.readthedocs.io/en/3.1.x/reference/Image.html#PIL.Image.alpha_composite

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部