PPT导出图片序列并加水印

一键导出PDF中的每一页

MAC专属,其他系统请先自行导出再往下看加水印部分

加水印python脚本

from PIL import Image, ImageDraw, ImageFont
from pathlib import Path
import math

# ----------------- 可配置参数 -----------------
WATERMARK_TEXT = "本材料仅供XXXX内部参阅"  # 水印文字
OPACITY = int(255 * 0.32)  # 40% 透明度
ANGLE = 30               # 斜着的角度 (度)
FONT_SIZE = 48            # 字体大小
FONT_PATH = "/System/Library/Fonts/STHeiti Medium.ttc"  # 字体文件路径(Mac 示例)
PADDING = 600             # 每次水印文本之间的间隔像素

# ------------------------------------------------

font = ImageFont.truetype(FONT_PATH, FONT_SIZE)

def add_watermark(img_path: Path):
    """在单张图片上添加斜向平铺水印"""
    img = Image.open(img_path).convert("RGBA")
    w, h = img.size

    # 为防止旋转裁切,创建对角线长度的正方形画布
    diag = int(math.hypot(w, h))
    watermark_layer = Image.new("RGBA", (diag, diag), (255, 255, 255, 0))
    draw = ImageDraw.Draw(watermark_layer)

    # 计算一次文字的大小
    bbox = draw.textbbox((0, 0), WATERMARK_TEXT, font=font)
    text_w, text_h = bbox[2] - bbox[0], bbox[3] - bbox[1]

    # 平铺水印文字
    for x in range(0, diag, text_w + PADDING):
        for y in range(0, diag, text_h + PADDING):
            draw.text((x, y), WATERMARK_TEXT, font=font, fill=(0, 0, 0, OPACITY))

    # 旋转水印层
    watermark_layer = watermark_layer.rotate(ANGLE, expand=True)

    # 裁剪中心区域,与原图匹配
    x0 = (watermark_layer.width - w) // 2
    y0 = (watermark_layer.height - h) // 2
    watermark_cropped = watermark_layer.crop((x0, y0, x0 + w, y0 + h))

    # 合并
    combined = Image.alpha_composite(img, watermark_cropped)
    combined = combined.convert("RGB")

    out_path = img_path.with_name(f"watermarked_{img_path.name}")
    combined.save(out_path, "JPEG", quality=95)
    print(f"✅ {img_path.name} ➜ {out_path.name}")


def main():
    # 处理当前目录所有 .jpg / .jpeg 文件
    for p in Path('.').iterdir():
        if p.suffix.lower() in {'.jpg', '.jpeg'} and not p.name.startswith('watermarked_'):
            add_watermark(p)


if __name__ == "__main__":
    main()
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇