Community图像github.com

图片背景板

将图片(插图、画作、照片)转换为 Claude Desktop 的背景主题,适用于 Claude Code,包含匹配的侧边栏/面板/菜单颜色,以及可选的昼夜模式开关,跟随窗口的浅色或深色模式。当用户希望将自己的图片作为 Claude Desktop / Code 标签页背景或主题时使用。

图片背景板 是什么?

该技能允许用户将任意图片(包括插图、画作或照片)转换为 Claude Desktop 的自定义背景主题。它支持单个图片或昼夜模式配对,自动跟随窗口的浅色/深色模式。其技术核心是将图片矢量化追踪为 SVG 路径,而非直接嵌入栅格图像,因为桌面只能渲染由模组自身绘制的场景。技能提供了完整的工具链(使用 vtracer 和 SVGO 进行追踪和优化),并严格限制在约 259500 字符的总大小下。该技能也包含颜色采样功能,确保侧边栏、面板和菜单的颜色与图片匹配。适用于 Claude Code,要求用户安装 Python 和 Node.js 所需工具。最终通过 `/backdrop day|night|auto` 命令切换主题。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kamioj/claude-picture-backdrop/tree/HEAD/skills/picture-backdrop

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

图片背景板 是做什么的?

桌面仅将模组的背景绘制为模组自身渲染的 scene,内部不绘制任何栅格图像。 因此,图片需要矢量化追踪为路径,在严格且无声的大小限制下打包,并由一个小型模组绘制。 在修改模组的绘制方式之前,请阅读 references/limits.md;该文件列出了测量结果和可能导致静默失败的因素。

工作流程

  1. 获取图片。 一张图片,或一张浅色(白天)和一张深色(夜晚)的图片。建议使用横向约 1600x1000 的尺寸; 应用会使用 xMidYMid slice 裁剪,因此请确保主体远离顶部和底部。带有柔和笔触的绘画性艺术品比轮廓清晰的赛璐璐风格更容易追踪;照片也可行。如果用户自己生成图片,请在此之前告知。
  2. 在临时文件夹中安装工具(不要在模组内):
    python -m pip install --target "$TMP/pb-vtracer" vtracer
    mkdir -p "$TMP/pb-svgo" && cd "$TMP/pb-svgo" && npm init -y >/dev/null && npm install svgo@4
    
  3. 创建模组文件夹 位于 ~/.claude/skills/<id>/(每次会话都会加载):复制 assets/mod-template/,然后将 make-colors.js 和 make-colors.d.ts 从 插件创作技能复制到其 hooks/ 目录中,保持原样。填写每个 __PLACEHOLDER__(__ID__ 是文件夹名称,小写且带连字符)。对于单张图片,删除其他导入、其场景和外观,并将 auto 指向该图片。
  4. 查看图片 并列出其区域(裁剪并查看它们):主体、面部、皮肤区域、每侧。 在模组旁边(而非 hooks/ 内部)为每张图片编写一个配置,使用 references/tracing.md 确定区域选择和设置,以及 assets/example-night.json(一个坐在入口右侧的女孩)作为模型。对于成对图片,为每个配置赋予 "scheme" 和两个预算:{"FULL": 259500, "HALF": 129500};对于单张图片,只需 FULL 且不含 scheme。
  5. 追踪,在后台运行(每次运行需要几分钟):
    python -I scripts/trace_scene.py night.json --vtracer "$TMP/pb-vtracer" --svgo "$TMP/pb-svgo" --preview "$TMP/pb-preview/night.html"
    
    它会对每个区域在每个选项下追踪一次,满足每个预算(首先满足所有区域,然后按优先级细化细节), 并写入 scene-<name>.ts。将配置的 out 指向模组的 hooks/。
  6. 预览 在浏览器窗格中查看 HTML(使用 python -m http.server 托管其文件夹)。检查 2 倍裁剪下的主体, 因为应用会放大图片。使用 tracing.md 中的表格修复错误之处,然后重新追踪。
  7. 颜色。 从图片中采样表面颜色(主导的墙壁或天空色调;深色模式保持深色) 并运行 makeColors;其问题列表不得包含 "Desktop won't paint" 条目。
  8. 验证并交付:claude plugin validate <模组文件夹>。告诉用户重新加载窗口或启动一个新会话, 输入任意消息(主题在第一个提示词时设置),然后尝试 /backdrop day|night|auto。 请他们检查特定区域;他们的截图是真正的测试。之后删除临时工具文件夹。

关键规则

  • 仅使用单引号包裹的 SVG,不允许在任何 SVG 中出现 "、\ 或反引号:转义字符会计入总长度。
  • 场景中所有 SVG 的总字符数 ≤ 约 259500 个;每个 SVG ≤ 约 98000。超出任一限制,桌面将不显示任何内容且不给出任何提示;模板会在会话开始时记录超大的场景。
  • 保持 glass 开启;如果外观适用于两种模式,则不要使用 tint。
  • 不要使用 image、color、gradient 或 vector 背景、<image> 或 overrideColorScheme:这些都不生效。
  • 在 prompt.submit 时设置主题,而非 session.start。
  • 改进某个区域时,保留用户表示喜欢的部分不变:为该区域单独分配区域或优先级,而不是重新调整所有内容。每次更改时都报告影响的范围。

相关技能