图像与设计
需要为网站或应用生成风格统一的定制 SVG 图标集时使用
当用户需要一套视觉一致、贴合具体项目的自定义 SVG 图标(而非通用图标库)时,按共享样式规范批量生成。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要为网站或应用生成风格统一的定制 SV通用
解决思路
- 先了解项目:询问业务/项目类型(行业、名称、调性)、品牌规范或配色、期望风格(现代、友好、企业、极简、醒目)、大致图标数量(小型网站通常 15-25 个);像“Newcastle 的水管工,现代感”这样的简述就足够,不要过度追问。
- 建议图标清单:参考 references/industry-icons.md 获取行业特定建议,按分组组织——导航(菜单、关闭、箭头、搜索)、沟通(电话、邮件、位置、时钟)、信任(星标、盾牌、奖项、用户)、操作(下载、分享、日历、表单)、行业特定图标;展示清单让用户增删或改名后再生成。
- 定义样式规范:参考 references/style-presets.md,从预设中选一个起点——Clean(多数商业网站,1.5px 描边,round/round,2px 圆角)、Sharp(企业/技术,1.5px,square/miter,0px)、Soft(友好亲和,2px,round/round,4px)、Minimal(优雅/编辑风,1px,round/round,0px)、Bold(高冲击/无障碍,2.5px,round/round,2px);告知用户推荐哪个预设及原因并确认。
- 生成图标:生成前先读 references/svg-examples.md 了解合适的复杂度与常见形状处理方式;每个图标都遵循下方 SVG 规则;输出到项目根目录的 icons/ 目录(或用户指定位置);每批约 5 个,每批后目视检查一致性再继续;全部完成后创建预览页和 style-spec.json。
- 交付结构:icons/ 目录下包含 style-spec.json、preview.html 以及各图标文件(如 home.svg、phone.svg 等);先展示 preview.html 让用户看到整套图标效果。
- SVG 模板:每个图标使用固定外层结构——<svg xmlns="http://www.w3.org/2000/svg" width="{grid}" height="{grid}" viewBox="0 0 {grid} {grid}" fill="none" stroke="currentColor" stroke-width="{strokeWidth}" stroke-linecap="{strokeLinecap}" stroke-linejoin="{strokeLinejoin}">,图标路径放在内部。
- 硬性规则 1:只用 currentColor,绝不硬编码颜色,不写 fill="#000" 或 stroke="blue";需要填充时用 fill="currentColor"。
- 硬性规则 2:所有图标使用完全相同的 viewBox,无例外。
- 硬性规则 3:根元素上的 stroke-width、stroke-linecap、stroke-linejoin 在所有图标间必须一致;仅在确有必要时才在单个元素上覆盖。
- 硬性规则 4:根元素上不使用 translate、rotate、scale 等变换,把定位烘焙进坐标。
- 硬性规则 5:不使用 ID 或 class,保持 SVG 干净以便外部样式控制。
- 硬性规则 6:坐标精度最多 2 位小数,对齐到半像素网格(如 12、12.5,而非 12.333)。
- 硬性规则 7:保持配置的 viewBox 边缘内边距一致;24px 网格配 2px 内边距时,绘制范围在 2–22 坐标内。
- 硬性规则 8:元素尽量少,用最少的 <path>、<circle>、<rect>、<line>;越简单越小、渲染越快。
- 硬性规则 9:视觉居中而非仅数学居中;左向箭头略微右移,带烟囱的房子要针对不对称做调整。
- 光学修正:曲线描边补偿——相同描边宽度下曲线看起来比直线细,对以曲线为主的图标(电话、地球)把路径略微放大而非改描边宽度;尖角形状外扩——箭头、尖括号、三角形比方形多延伸约 0.5px 以显得同样大小;视觉重量平衡——简单图标(单个尖括号)看起来比复杂图标(齿轮)轻,把简单图标在网格中略微放大或用更厚实的路径,任何图标都不应明显偏轻或偏重。
- 生成 style-spec.json:包含 name、preset、grid、strokeWidth、strokeLinecap、strokeLinejoin、cornerRadius、padding、opticalBalance、iconCount、icons 列表、generated 日期。
- 生成预览页:参考 references/preview-template.md,生成自包含 HTML 文件;要求包括——所有图标按原始尺寸(24px)带标签的网格、同样网格的 2x(48px)版本便于查看细节、深色背景区块(白图标配深底)检查对比度、顶部样式规范摘要、内联 CSS 无依赖可直接浏览器打开、所有 SVG 直接内联进 HTML(不引用外部文件)。
- 交付前逐项核对质量清单:所有 SVG 的 viewBox、stroke-width、stroke-linecap、stroke-linejoin 一致;全部只用 currentColor;整套视觉重量平衡;内边距一致(无元素触碰 viewBox 边缘);所有图标视觉居中;文件名为小写 kebab-case(如 arrow-right.svg);预览 HTML 正确渲染所有图标;style-spec.json 准确并列出所有图标。
适用边界 · 注意事项
- 用户只是想要现成通用图标库(如 Lucide、Heroicons)的查找结果,而非定制图标集时
- 用户无法提供任何项目背景信息,导致无法推断图标清单与风格时