关于 photo-collage-maker
photo-collage-maker 是一款用多张图片制作拼贴的 Python 工具,适合需要组合照片的人使用。它支持网格与自由布局,并可通过模板、背景和图片适配选项调整成品。
主要功能
- 01网格与自定义布局
- 02自由摆放图片
- 03边框与背景设置
- 04适配、填充与拉伸
- 05添加说明文字和模板
适用场景
- 01制作 2×2 或 3×3 照片网格
- 02排布杂志风格的图片
- 03为照片添加说明和边框
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill photo-collage-maker安装后在 Claude Code 中输入/photo-collage-maker确认已加载。
附带文件scripts/collage_maker.pyscripts/requirements.txt
详细介绍
照片拼贴制作工具
使用多张图片制作精美的照片拼贴。
功能
- 网格布局:2x2、3x3、自定义网格
- 自定义排列:自由定位
- 边框:添加间距和边框
- 背景:纯色、渐变、图片
- 图片适配:适配、填充、拉伸选项
- 文字标签:为图片添加说明文字
- 模板:预设拼贴模板
快速开始
from collage_maker import CollageMaker
collage = CollageMaker()
# Simple 2x2 grid
collage.grid(2, 2, gap=10)
collage.add_images(["photo1.jpg", "photo2.jpg", "photo3.jpg", "photo4.jpg"])
collage.save("collage.jpg")
# Custom layout
collage.canvas(1200, 800)
collage.add_image("main.jpg", x=0, y=0, width=800, height=800)
collage.add_image("side1.jpg", x=800, y=0, width=400, height=400)
collage.add_image("side2.jpg", x=800, y=400, width=400, height=400)
collage.save("custom_collage.jpg")
命令行用法
# 2x2 grid collage
python collage_maker.py --grid 2x2 --images img1.jpg img2.jpg img3.jpg img4.jpg -o collage.jpg
# 3x3 grid with gap
python collage_maker.py --grid 3x3 --gap 10 --images photos/*.jpg -o grid.jpg
# With background color
python collage_maker.py --grid 2x3 --bg-color "255,255,255" --images *.jpg -o collage.jpg
# Template layout
python collage_maker.py --template magazine --images *.jpg -o magazine.jpg
API 参考
CollageMaker 类
class CollageMaker:
def __init__(self)
# Canvas Setup
def canvas(self, width: int, height: int, bg_color: Tuple = (255,255,255)) -> 'CollageMaker'
def grid(self, rows: int, cols: int, gap: int = 0) -> 'CollageMaker'
def template(self, name: str) -> 'CollageMaker'
# Adding Images
def add_images(self, image_paths: List[str], fit: str = "fill") -> 'CollageMaker'
def add_image(self, path: str, x: int, y: int, width: int, height: int,
fit: str = "fill") -> 'CollageMaker'
# Styling
def set_background(self, color: Tuple = None, image: str = None) -> 'CollageMaker'
def set_border(self, width: int, color: Tuple = (255,255,255)) -> 'CollageMaker'
def set_gap(self, gap: int) -> 'CollageMaker'
def rounded_corners(self, radius: int) -> 'CollageMaker'
# Text
def add_text(self, text: str, x: int, y: int, font_size: int = 24,
color: Tuple = (0,0,0)) -> 'CollageMaker'
# Output
def save(self, filepath: str, quality: int = 95) -> str
def get_image(self) -> Image
模板
- grid_2x2:简单的 2x2 网格
- grid_3x3:3x3 网格布局
- magazine:大图搭配较小的缩略图
- pinterest:瀑布流式垂直布局
- polaroid:带白色边框和说明文字的图片
- story:竖屏移动端风格拼贴
依赖项
- pillow>=10.0.0
- numpy>=1.24.0
评论
支持 Markdown