Python给图片加水印

受到"手动给证件加文字太麻烦"的感触,想用Python来实现给图片加水印,这不方便多了。

这里使用PIL模块:

python 复制代码
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

img_t =  Image.open('cat.jpg')
img_size_t = img_t.size
w = img_t.width
h = img_t.height
f = img_t.format

print(img_size_t) 
print(w,h,f) # 得到图片大小和 图片格式
python 复制代码
# img_path 原图片路径
# output_path 处理后,输出的图片路径
# text 要添加的水印文字

def watermark_Image3(img_path, output_path, text):
    img = Image.open(img_path)
    drawing = ImageDraw.Draw(img)
    
    text_t = text
    init_y = 200
    for x in range(100, 2300, 500):   
        for y in range(init_y, 1400, 200):          
            # font = ImageFont.truetype("simsun.ttc", size= 80) # 设置字体和文字大小
            # 选择系统字体 r'C:/Windows/Fonts/Arial.ttf' 
            font = ImageFont.truetype(r'C:/Windows/Fonts/Impact.ttf', size= 80) # 设置字体和文字大小
            drawing.text((x,y), '{}!'.format(text_t), font=font, fill='red') # 文本左上角坐标,文本内容(我还在文本后加了个!),文本颜色 。
            # fill也可以使用RGB编码设置颜色,如 fill=(256,256,256)
            
        if init_y <= 200: # 使每列水印有个高度差
            init_y += 100
        else:
            init_y -= 100
    img.show()
    img.save(output_path) # 保存

img_path_t = 'cat.jpg'
watermark_Image3(img_path_t, 'cat_watermarked3.jpg', 'cat')
相关推荐
2501_944521595 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理5 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1147 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人8 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521599 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
信誓旦旦的程序猿9 小时前
【Python量化实战宝典 #26】止损与回撤控制手册:移动止损、最大回撤(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
2501_944521599 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
Patrick在香港9 小时前
同一行 strftime,两台机器跑出两种日期
python·datetime·时区·locale·日期处理
2601_967987379 小时前
用Python+OpenCV+YOLO写个游戏脚本:从自动瞄准到自动采集的保姆级教程
python·opencv·yolo·目标检测·游戏自动化
meiying88389 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化