视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
bggg-creator-image2ppt【文档与办公】把图片、截图、海报、PPT 页面截图、HTML 或 SVG 设计稿转换成可编辑 PPTX 的 Codex skill。 当用户需要 image2ppt、image2pptx、图片转 PPT、截图转 PPT、PNG/JPEG 转可编辑幻灯片、 HTML/SVG 转 PPTX、把设计图拆成图片组件和文本框再拼成 PowerPoint、 或希望复用 Codex 内置生图能力把平面图重建为多元素可编辑 PPT 时,应该使用此 skill。 在 Codex 中处理二进制图片时,默认结合 imagegen skill:先用 Codex 视觉理解版式, 再用内置图片生成/编辑能力生成或清理多个组件图片,最后用本 skill 的脚本拼装 PPTX。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
用这个 skill 把平面视觉稿转换成可编辑的 .pptx。核心设计是“先形成结构化 manifest,再由脚本生成 PPTX”。
imagegen skill 生成或清理背景、装饰、产品、图表等组件图片;文本尽量还原为 PowerPoint 文本框。projects/YYYYMMDD_slug/ 目录里。在 Codex 中处理 PNG/JPEG/WebP 等二进制图片时,默认执行这个顺序:
text 元素,不要把文字只做成图片。imagegen skill 生成、清理或重建独立组件图片。imagegen 生成的图片复制到当前项目目录的 imagegen_assets/ 或 component_images/,不要让项目依赖 $CODEX_HOME 的临时输出。manifest.json,用 scripts/image2pptx.py build 生成 PPTX。python-pptx 重新打开,并记录图层/文本/图片数量和已知限制。如果用户明确要求“不重绘”“保持原图像素”,可以用原图裁切或全画布透明 PNG 作为组件图片;但默认仍要用 Codex imagegen 能力辅助背景清理、缺失区域补全和组件干净化。
每次转换都创建独立项目目录:
bggg-creator-image2ppt/
└── projects/
└── YYYYMMDD_slug/
├── original_inputs/
├── component_images/
├── imagegen_assets/
├── diagnostics/
├── manifest.json
├── output.pptx
├── summary.json
└── process_notes.md
初始化:
python3 bggg-creator-image2ppt/scripts/init_project.py pitch_deck \
--source /path/to/reference.png \
--date 20260504
初始化项目,把源图复制到 original_inputs/。
识别页面结构:
默认用 imagegen 生成或编辑组件:
把组件图片放入 component_images/ 或 imagegen_assets/。
写 manifest,元素按从底到顶排序。
运行:
python3 bggg-creator-image2ppt/scripts/image2pptx.py build \
--manifest bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/output.pptx \
--summary bggg-creator-image2ppt/projects/YYYYMMDD_slug/summary.json
写 process_notes.md,说明是否使用 imagegen、哪些对象是可编辑文本、哪些对象是图片 fallback。
HTML/SVG 是代码形式的 PPT 时,优先走解析器:
python3 bggg-creator-image2ppt/scripts/html_svg_to_manifest.py input.svg \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json
python3 bggg-creator-image2ppt/scripts/html_svg_to_manifest.py input.html \
--output bggg-creator-image2ppt/projects/YYYYMMDD_slug/manifest.json
解析原则:
text、rect、ellipse、line、简单图片。.slide/body 元素最容易被准确转换。path、滤镜、渐变、mask、clip-path、foreignObject 可写入 diagnostics,并用 imagegen 或外部渲染结果作为图片组件 fallback。image2pptx.py build 生成最终 PPTX。manifest 是跨来源的中间层。坐标默认以源画布像素为单位,脚本会映射到 PowerPoint 尺寸。
{
"deck": {
"canvas_width": 1600,
"canvas_height": 900,
"slide_width_in": 13.333,
"name": "Example Deck"
},
"slides": [
{
"name": "Cover",
"elements": [
{
"kind": "background",
"fill": "#f7f4ec"
},
{
"kind": "image",
"name": "Hero Product",
"file": "component_images/product.png",
"x": 910,
"y": 170,
"w": 520,
"h": 520,
"fit": "contain"
},
{
"kind": "text",
"name": "Title",
"text": "Walk With Intention",
"x": 120,
"y": 180,
"w": 680,
"h": 150,
"font_size_px": 68,
"font_family": "Arial",
"bold": true,
"color": "#17120d",
"align": "left"
}
]
}
]
}
常用元素:
background: fill 纯色或 file 背景图。image: file/path/src、x、y、w、h、fit。fit 支持 stretch、contain、cover。text: text、x、y、w、h、font_size_px 或 font_size_pt、font_family、color、bold、italic、align。shape: shape 为 rect、roundRect、ellipse 或 line;支持 fill、stroke、stroke_width_px。table: 简单表格 fallback,用 rows 数组生成原生 PPT 表格。交付时至少说明: