编程

HTML Code Painting

试用

用纯代码(HTML、SVG、Canvas、CSS)进行绘画创作,高度还原指定原画作或按文字描述作画。当用户要求画一幅画、临摹或还原某幅名画(如千里江山图、星空、富春山居图)、用代码生成艺术插画、制作水墨/油画/浮世绘/像素风/扁平风等风格的画作网页,或将图片转化为可交互 HTML 画面时使用本技能。产出为可直接打开的 .html 单文件,不依赖 AI 绘图 API,全部由代码绘制,可缩放可交互。

它能做什么

用纯代码(HTML、SVG、Canvas、CSS)进行绘画创作,高度还原指定原画作或按文字描述作画。当用户要求画一幅画、临摹或还原某幅名画(如千里江山图、星空、富春山居图)、用代码生成艺术插画、制作水墨/油画/浮世绘/像素风/扁平风等风格的画作网页,或将图片转化为可交互 HTML 画面时使用本技能。产出为可直接打开的 .html 单文件,不依赖 AI 绘图 API,全部由代码绘制,可缩放可交互。

技能文档

HTML 代码绘画(html-code-painting)

目标

用代码在浏览器中"画出"一幅高度接近参照对象(原图或文字描述)的画作,输出一个自包含的 .html 文件。"高度还原"不靠运气,靠流程:先观察分析、再结构规划、然后分层绘制、 最后对比校验迭代。跳过分析直接动手是失败的首要原因。

技术选型决策树

收到绘画需求后,按下表选定主技术路线(可组合,但每幅画必须有一个主导技术):

场景主技术理由
名画临摹、写实/半写实插画、需要复杂质感(云雾、水面、绒毛、光晕)SVG + 滤镜路径精确可控,feTurbulence 可程序化生成纸纹/雾气/大理石纹理
平面插画、扁平风、卡通、图标式场景、UI 插图SVG 纯矢量干净利落、缩放无损、代码量小
有机形态密集重复的元素(松针林、稻浪、星野、雨丝、颗粒、波光)、粒子系统Canvas 2D 程序化生成几千个元素用循环生成,比手写路径快 100 倍且更自然
像素风Canvas image-rendering: pixelated天然契合
大面积背景氛围(天空渐变、暮色、水色)CSS 渐变打底 + 上层绘画省代码

硬性规则:

  • 输出单个自包含 HTML 文件,内联所有 CSS/JS,不引用外部资源;若需参考原图供对比, 将原图以 base64 内嵌到专门的对比工作台页(见下方"校验模板"),不要污染作品本体。
  • 深思熟虑后再写码:先在脑中/注释里列出构图分层清单(天空→远山→中景→近景→点睛细节), 再逐层实现。绝不把整幅画塞进一个函数。

工作流程(严格按顺序执行)

第 1 步:获取与分析参照

  • 有原图:若有本地图,用 scripts/analyze_reference.py 取九宫格主色、暗部/亮部均值与 饱和度分布(用法见脚本头部注释);无脚本环境时目视完成下述同款分析。
  • 无原图(凭描述画):先在回复里写出 3–6 行"视觉设定"(主体、视角/构图、光源方向、 主色调与配色比例 60-30-10、时代/地域风格关键词),这相当于创作前的定稿草图。
  • 无论哪种,都必须产出分析卡(写在作品 HTML 顶部注释里):
构图:三分法/对称/S形动线,视点落位于画面约 (x%, y%)
分层:    
色彩:<主色 #hex ~占60%> <辅色 #hex ~30%> <点缀 #hex ~10%>
光影:光源方向 __,最亮点 __,最暗部 __,整体明度基调 __
质感笔触:______(如:干擦皴 / 湿润晕染 / 厚涂刀触 / 平涂勾线)

第 2 步:网格定位(写实/临摹的关键)

把画布假想为 4×4 或 5×5 的网格,为每个关键对象记录"网格坐标 + 占格数",例如 "孤舟位于 G4 (x:75%, y:62%),长约画布宽 8%"。SVG 里可直接套一层透明 `` 网格辅助 层调试,交付前删除。人物/动物遵循比例法则:站立人高 ≈ 7–7.5 头身,山水画中山与前景植物 遵循"丈山尺树寸马分人"。非正方画布需先确定宽高比(名画常为 3:2、4:3 或手卷 10:1 以上)。

第 3 步:技术分工与分层骨架

  • 大形状/构图 → SVG path(贝塞尔曲线圆滑处用 S/T 镜像命令保证连续)。
  • 密集自然纹理 → Canvas 循环 + 随机扰动(随机数必须带 seed,保证可复现)。
  • 用 `` 组织图层;重叠区域考虑混合模式 (水面倒影 mix-blend-mode: soft-light,云雾 screen,阴影 multiply)。
  • 先铺大色块校对整体色调 → 再加中层形体 → 最后做 15 分钟的"细节 pass" (飞鸟、窗棂、芦苇尖上的鸟、屋瓦高光),细节密度决定还原度的上限

第 4 步:风格配方

确定目标属于哪个画种后,必读对应风格手册 references/style-playbooks.md (涵盖水墨/青绿山水、印象派油画、浮世绘、塞尔达式低多边形风景、像素风、扁平插画、 夜景霓虹、水彩),其中含调色板、笔触技法与滤镜参数起手值。 通用美术规律速记:大气透视=远景降低对比+混入天色;暖进冷退; 投影永远带一点点环境反光的补色;边缘有虚有实——视觉中心实、四周虚。

第 5 步:技术手册查阅时机

遇到以下情况时读取对应 references 文件(其余时间不必加载,控制上下文):

  • 需要"看起来像手绘/介质质感"→ 读 references/svg-techniques.md 的滤镜配方章节 (feTurbulence 各基频/八度实际效果对照、纸张纹理、湿边水彩、油画厚涂做法)。
  • 需要 Canvas 程序化元素(森林/星空/水面波光/雨雪/粒子)→ 读 references/canvas-techniques.md
  • 分析方法不确定(如何拆解一张陌生的画)→ 读 references/analysis-workflow.md

第 6 步:对比校验与迭代(不可省略)

  1. 写完后自查五问:色调一致?构图网格对位?明度大关系对(眯眼测试:模糊看是否同一节奏)? 细节密度分布合理?有没有一层不变的"平"?——逐项修正后才算第一版完成。
  2. 若用户提供了原图,把作品拷入 assets/artwork-studio.html 对比工作台,base64 嵌入原图, 自查:滑块切换比对 → 记录 3 个最大偏差 → 回改代码 → 重复至偏差可接受。
  3. 向用户交付时展示作品文件本体(对比台只在需要精修时给用户看)。

常见失败模式(务必规避)

  1. 只铺渐变没有内容——天空不是一块 linear-gradient,要有云的形、色彩分段、晕染边界。
  2. 随机数无 seed——刷新就变样,无法迭代修复。统一 rand = mulberry32(seed) 类固定种子发生器。
  3. 过度饱和——屏幕色彩天然艳于颜料,整体降 10–20% 饱和、拉开明度层次反而更像真画。
  4. 透视打架——同一画面只允许一个消失点体系;散点透视(国画)则遵守"高远/深远/平远"三远法。
  5. 滤镜叠加失控——多个 feTurbulence 叠加时性能急剧下降,一画布上存活的高开销滤镜 ≤2 个。
  6. 细节平均主义——四角和中心的精细度应不同,视觉中心多花 50% 以上的元素数量。

与其他表达形式的边界

用户要的是"AI 生成位图照片感图像"时改用 ImageGen 工具,不属于本技能范围; 但用户要"可缩放、可交互、代码即作品本身、离线可开"的画面时,本技能是正确选择。

Resources

scripts/

  • analyze_reference.py — 输入本地图片,输出九宫格平均色、暗/亮部代表色、宽高比建议。 用法:python analyze_reference.py [--grid 4]

references/

  • analysis-workflow.md — 观察方法论:如何系统地拆解任一幅画的构图/色彩/光影/笔触。
  • svg-techniques.md — SVG 滤镜质感配方库(纸纹、水彩晕染、油画肌理、雾气、辉光、腐蚀边缘)与性能红线。
  • canvas-techniques.md — 程序化生成模式库:森林、星空银河、水面波光、山脊叠嶂、雨雪粒子,附可直接套用的循环骨架。
  • style-playbooks.md — 八大画种风格手册:调色板 + 笔触 + 结构特征 + 完成判定标准。

assets/

  • artwork-studio.html — 对比校验工作台模板(并排/滑动/洋葱皮三种比对模式)。精修还原度时使用。

相关技能

专业HTML开发工具,支持语义化标记、表单验证、响应式图片与基础可访问性。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 次安装

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create ori Use when 需要Development领域自动化处理、数据分析和流程编排时使用。不适用于无明确需求的模糊场景。

3 次安装

分析源代码逻辑,生成 Mermaid 流程图或 SVG 架构图并渲染为 PNG 图片。官方 mermaid 渲染(与 Markdown 预览一致),支持 16 种主题、5 种视觉风格、语义图形体系和 40+ 产品图标。

24 次安装1 星标

可视化图表生成技能,支持SVG/HTML/HTML+JS三种格式,包含完整设计规范,可保存为图片。触发词:画图表、生成图表、可视化、SVG、HTML图表、保存为图片、架构图、流程图、chart、meta-skill-system

High-fidelity HTML design and prototype skill for landing pages, slide decks, mobile mockups, interactive prototypes, dashboard explorations, design-directio...

18 次安装

用「编写 SVG」的方式生成图片——让没有多模态生图能力的模型也能产出任意宽高比、任意复杂度的矢量图,并导出为 SVG / PNG / 动图(GIF/APNG/WebP/MP4),或内嵌进 HTML。 适用场景:用户要「生成一张图 / 画个图 / 做张配图 / 做海报 / 信息图 / 图表 / 流程图 / 架构图 / 图标 / 封面 / OG 图」,要求指定宽高比(16:9 / 1:1 / 9:16 等)或导出 PNG;也包括「做个动图 / GIF / 加载动画 / loading 动效」。 能力:① 按指令编写复杂 SVG(图表/插画/流程图/海报);② SVG→PNG 高清渲染(Chrome 优先,cairosvg/resvg 兜底);③ 多帧/模板 SVG→GIF/APNG/WebP/MP4 动图;④ 任意宽高比与 DPR。 关键词:生图、画图、SVG、矢量图、配图、海报、信息图、图表、流程图、架构图、图标、封面、OG image、转 PNG、动图、GIF、动画、loading。