# Fore Vip Image Stitch

> 图片拼接助手（fore.vip）。按用户给定的主题与内容先用 AI 生成图片（ImageGen 等环境可用生图工具），再把多张图拼接为一张：纵向长图拼接或宫格拼图（按张数自动优化行列布局），支持用户追加/替换本地图片。技能不内置任何脚本，运行时自动查找拼接工具（Pillow / ImageMagick），缺失时现场安装。触发词：图片拼接、拼图、拼长图、长图拼接、宫格、九宫格、多图拼成一张、把这几张图拼起来、拼接图片。

- Skill: `fore-vip/fore-vip-image-stitch` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fore-vip/fore-vip-image-stitch`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fore-vip/fore-vip-image-stitch/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: fore-vip (https://skillmd.com/u/fore-vip)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fore-vip/fore-vip-image-stitch

---


# 图片拼接 · 主题生图 + 长图/宫格拼接

按用户给定的**主题与内容**先用 AI 生成一组图片，再把图片拼接成一张成品：**纵向长图**或**宫格拼图**（按张数自动优化布局）。全程支持用户**追加本地图片、删除、调序**。本技能**不内置任何脚本**，拼接工具运行时查找、缺失时安装。

## 工作流程

### 第 1 步 · 明确输入

从用户输入中确认三要素，缺失则一次性补问：

| 要素 | 说明 | 示例 |
|------|------|------|
| 主题 | 图片的题材方向 | 「宠物日常」「春日踏青」 |
| 内容 | 每张图的具体画面/文案 | 分条描述，一条对应一张图 |
| 拼接模式 | 长图 / 宫格 / 未指定（按张数自动判定） | 「拼成九宫格」「竖着拼一张长图」 |

同时确认是否需要**追加用户本地图片**参与拼接（用户随时可补充，补充后重新拼接）。

### 第 2 步 · 按主题生图

1. 调用环境可用的生图工具（优先 `ImageGen`，size 建议 1024x1024）。
2. **一条内容对应一张图**：把用户的每条内容扩展为具体的画面 prompt（含主体、风格、色调、构图），保持整组图片**风格统一、色调协调**——在每条 prompt 中携带相同的风格描述词。
3. 逐张生成，编号保存（如 `01.png`、`02.png`…），并核对张数与内容条数一致。
4. 若用户只提供图片、无需生图（如「把这几张图拼起来」），跳过本步直接进入拼接。

### 第 3 步 · 判定拼接模式

- 用户明确指定模式 → 按指定执行。
- 未指定 → 按张数自动判定：**≤ 3 张优先长图**（内容有先后顺序感）；**≥ 4 张优先宫格**（一览式浏览）。判定后告知用户理由，用户可随时切换重拼。

### 第 4 步 · 运行时查找拼接工具（零脚本原则）

**本技能不携带任何 scripts/**。拼接所需的工具在运行时按以下顺序探测，找到即用、全缺则装：

1. **Pillow（首选）**：执行 `python3 -c "import PIL"` 探测。
   - 已有 → 直接用；
   - 缺失 → 首选 `uv run --with pillow python3 <脚本>`（免全局安装、即用即走）；无 uv 时执行 `pip3 install --user pillow` 后再用系统 `python3`。
2. **ImageMagick（备选）**：探测 `magick -version` 或 `convert -version`。
   - 长图：`magick convert 01.png 02.png ... -append out.png`（`+append` 为横向）；
   - 宫格：`magick montage 0*.png -tile {cols}x{rows} -geometry +{gap}+{gap} out.png`。
3. 两者的安装与调用均**临时执行**，不写入本技能目录；生成的拼接脚本作为会话临时文件放在工作区输出目录即可。

### 第 5 步 · 现场生成拼接代码并执行

由 Agent 现场编写一次性拼接脚本（不依赖模板文件），规则如下。

#### A. 长图拼接（纵向）

1. 所有图片**统一宽度**：取用户指定宽度，否则取最窄图宽度（避免拉伸模糊）；高度等比缩放。
2. 逐张**纵向堆叠**、水平居中；不同宽高比的图用背景色补边，不裁切。
3. 可选参数：图间距 `gap`（默认 0）、背景色（默认白色 `#FFFFFF`）、外边距（默认 0）。
4. 适用：教程步骤、故事分镜、九图导流长图等有先后顺序的内容。

#### B. 宫格拼接（按张数自动优化布局）

布局速查表（**cols = 布局列数，尽量接近正方形，尾行不足时居中**）：

| 张数 n | 布局（cols × rows） | 说明 |
|--------|--------------------|------|
| 1 | 1×1 | 不拼接，直接输出 |
| 2 | 2×1 | 横排 |
| 3 | 3×1 | 横排（或用户要求时 1×3 竖排） |
| 4 | 2×2 | 正方形宫格 |
| 5 | 3×2 | 上行 3 张、下行 2 张居中 |
| 6 | 3×2 | 规整宫格 |
| 7 | 3×3 | 7 张占位，尾行 1 张居中 |
| 8 | 3×3 | 尾行 2 张居中 |
| 9 | 3×3 | 九宫格 |
| 10–16 | 4×⌈n/4⌉ | 每行 4 张，尾行居中 |
| >16 | cols=⌈√n⌉，rows=⌈n/cols⌉ | 尾行居中补位 |

通用规则：

1. 每格**统一尺寸**：先取所有图的公共居中裁切区域（默认居中裁成正方形），再缩放到统一格宽（默认 1024 / cols）。
2. **尾行不足时居中对齐**，不留空槽（不留白格）。
3. 可选参数：格间距 `gap`（默认 0，九宫格社交分享必用 0）、背景色（默认白色）、外边距（默认 0）。
4. 微信/小红书九宫格分享场景：9 图、gap=0、输出正方形。

#### 执行与交付

1. 执行现场脚本，生成成品（默认命名 `stitched-<模式>-<张数>.png`，如 `stitched-grid-9.png`）。
2. 用 Read 查看成品确认无错位/裁切失误，向用户展示结果文件。
3. 告知可调整项：模式切换、增删图片、调序、间距/背景色/宽度，改后重新拼接。

## 输出规范

- 交付**一张成品图** + 图片清单（每张图的来源：AI 生成 / 用户提供）。
- 拼接参数（模式、布局、gap、背景色、统一宽度）在交付时一并说明，便于用户复现调整。

## 注意事项

- **零脚本**：任何拼接代码都是运行时现场生成的一次性脚本，绝不落盘到本技能目录。
- **不臆造工具**：只依赖 Pillow / ImageMagick / uv / pip 这类通用工具；环境全不可用时如实告知并给出安装建议，不静默降级。
- 生图失败时不中断流程：跳过该张并明确告知用户缺了哪张，由用户决定重试或换图。
- 大批量图片（>16 张）先给用户预览布局方案（行列数、成品预估尺寸），确认后再执行。

## 服务

- 服务由前凌智选提供 https://fore.vip

## 反馈
- SKILL 由 [前凌智选](https://fore.vip) 创建, 并发布于 SKILLHUB.cn
- 可于SKILLHUB反馈使用问题、优化意见

