UI组件后端【免费下载链接】dicebearDiceBear is an avatar library for designers and developers. 项目地址https://gitcode.com/gh_mirrors/di/dicebear点击查看免费下载Icons 是 DiceBear 官方提供的一种极简头像风格它不绘制人脸或卡通形象而是在一块着色的背景上放置单个 Bootstrap Icons 图形pictogram产出一个图标徽章式的方形 SVG 头像。本指南将带你掌握 Icons 风格的全部能力——从 HTTP API 和 JavaScript 库的零配置上手到背景色板、渐变填充、预置方案Presets的深度定制再到它的许可证归属与种子确定性原理让你可以直接在项目中落地使用。Icons 风格是什么按 Icons 风格文档 的定义Icons 是 DiceBear 的一个免费图标头像生成器A single Bootstrap Icons pictogram on a tinted background.在着色背景上放置单个 Bootstrap Icons 图形。它的特征可以概括为三点单个图形每个头像只含一个图标没有复杂图层天然适合作为占位符、功能图标或列表徽章着色背景背景是画面的主角通过背景色板承载风格确定性生成与 DiceBear 所有风格一致只要 seed 相同无论通过哪种方式渲染得到的 SVG 都完全一致。风格分类与渊源从仓库的样式分类表 styleCategories.ts 可以看出icons被归入Minimalist极简类别与identicon、shapes、triangles、glyphs等风格并列。同时license.ts 的注释明确记录Icons 是目前仓库中唯一的port忠实移植风格其图形素材移植自Bootstrap IconsMIT 许可证。这意味着它的法律署名措辞是Based on Bootstrap Icons这一点我们会在许可证与署名一节详细展开。文档页面是如何组装出来的你看到的 Icons 风格页面并非纯静态 Markdown而是由 SiteStylePage.vue 在运行时动态组装的它从风格定义、预置文件与统计数据中读取信息渲染出Usage用法、Presets预置、Options选项、Popularity热度、Details详情五个区段。因此本文后续内容也会按照这五个维度展开并深入各自的源码与数据文件。快速上手三种方式渲染 Icons 头像无论你使用哪种方式Icons 风格的渲染都遵循同一个模式输入 seed输出 SVG。下面的用法代码来自文档站的统一代码生成模块 usageSnippets.ts同一份代码同时驱动着风格页面上的交互式标签页和供 AI 助手阅读的 Markdown 镜像。方式一HTTP API零安装DiceBear 提供了官方托管的 HTTP API。Icons 风格的地址模板为https://api.dicebear.com/{major}.x/icons/svg?seedFelix其中{major}是当前主版本号具体以 版本说明 为准seed决定头像内容。把上面的 URL 直接放进img src即可渲染头像img srchttps://api.dicebear.com/{major}.x/icons/svg?seedFelix alticons avatar /API 支持把几乎所有渲染选项作为查询参数传递例如backgroundColorb6e3f4。完整参数约定见 HTTP API 集成指南。方式二JavaScript 库先安装核心库与风格包npm install dicebear/core dicebear/styles --save然后加载icons.json风格定义并渲染import { Style, Avatar } from dicebear/core; import definition from dicebear/styles/icons.json with { type: json }; const style new Style(definition); const avatar new Avatar(style, { seed: Felix }); const svg avatar.toString();avatar.toString()返回标准 SVG 字符串可以直接插入 DOM 或传给其他工具。更详细的库用法见 JavaScript 集成文档。方式三CLI全局安装 CLI 后可以直接生成 SVG 文件npm install --global dicebear dicebear create icons --seed FelixCLI 的更多参数输出路径、大小、格式等见 CLI 集成文档。在更多语言中渲染 Icons 头像DiceBear 为每种语言都实现了等价的核心库Icons 风格的定义文件icons.json同样适用于它们。以下是官方用法模块为 Icons 生成的其他语言片段语言安装渲染PHPcomposer require dicebear/core dicebear/styles$style Style::fromJson(...); $avatar new Avatar($style, [seed Felix]); $svg (string) $avatar;Pythonpip install dicebear-core dicebear-stylesavatar Avatar(style, {seed: Felix}); svg avatar.to_string()Rustcargo add dicebear-core serde_jsoncargo add dicebear-styles --features iconslet avatar Avatar::new(style, json!({seed: Felix}))?; let svg avatar.to_svg();Gogo get github.com/dicebear/dicebear-go/vXgo get github.com/dicebear/styles/vXavatar, _ : dicebear.NewAvatar(style, map[string]any{seed: Felix}); svg : avatar.SVG()Dartdart pub add dicebear_core dicebear_stylesfinal avatar Avatar(style, {seed: Felix}); final svg avatar.svg;C#dotnet add package DiceBear.CoreDiceBear.Stylesvar avatar new Avatar(style, new JsonObject { [seed] Felix }); var svg avatar.ToSvg();各语言的风格定义加载方式PHP 读取包内icons.json、Rust 用dicebear_styles::ICONS常量、Dart 用Style.parse(icons)等都封装在对应库中具体见 PHP、Python、Rust、Go、Dart、C# 的集成文档。定制 Icons 头像的核心选项Icons 风格的灵魂是背景 图形因此背景色系选项是它的核心定制杠杆。以下选项在 DiceBear 全部核心与 HTTP API 中行为一致仅传参语法因语言而异完整定义见 核心选项文档。seed一切的确定性来源seed字符串默认是 DiceBear 的确定性根基。同一 seed 会在任何语言、任何核心中渲染出完全相同的头像这正是风格页面Same seed, same avatar, whichever way you render it同一 seed、无论哪种方式渲染都是同一头像这一提示语的含义。底层实现上seed 首先经 Fnv1a.ts 做哈希再作为 Mulberry32.ts 伪随机数生成器的输入随后所有组件与颜色的挑选都从这个 PRNG 的取值序列中采样。因此 seed 的选择直接影响图标的呈现方式与背景颜色。背景选项Icons 的主要定制手段所有 DiceBear 风格都支持以下背景选项即使该风格的定义没有显式声明background颜色组选项类型默认值说明backgroundColorstring \| string[]未设置背景颜色十六进制#可省略支持#RGB到#RRGGBBAAbackgroundColorFillsolid \| linear \| radialsolid背景填充方式可传数组实现随机backgroundColorFillStopsinteger \| [min, max]2渐变停靠点数最小 2solid时忽略backgroundColorAnglenumber \| [min, max]0渐变角度−360 到 360backgroundColorOrderrandom \| fixedrandom按给定顺序使用颜色fixed而非随机打乱例如让背景呈现一张 45 度角的双色渐变const avatar new Avatar(style, { seed: Felix, backgroundColor: [b6e3f4, c1a7fb], backgroundColorFill: linear, backgroundColorAngle: 45, });搭配backgroundColorOrder: fixed时颜色会严格按给定顺序作为渐变停靠点从首到尾排列。一个值得注意的细节是当固定顺序生效时风格定义里的contrastTo对比度约束会被跳过而notEqualTo不等约束仍然生效因此结果依然可以随种子变化。通用变换与输出选项除了背景以下通用选项同样作用于 Icons 头像选项类型默认说明flipnone \| horizontal \| vertical \| bothnone翻转头像可传数组随机化rotatenumber \| [min, max]0旋转角度−360 到 360scalenumber \| [min, max]1以画布中心为原点的缩放0 到 10borderRadiusnumber \| [min, max]0画布圆角百分比0 到 5050为圆形sizeinteger未设置输出像素尺寸1 到 4096未设置时 SVG 自适应容器translateX/translateYnumber \| [min, max]0水平/垂直平移画布宽/高的百分比idRandomizationbooleanfalse为每个 SVGid追加随机后缀避免同页多个头像的url(#…)引用冲突titlestring未设置无障碍标题设置后 SVG 带roleimg与title对 Icons 这类单图标 背景风格最实用的组合是borderRadius: 50得到圆形徽章或用scale调整图标的视觉占比。另外组件级的旋转、平移、缩放由风格定义在渲染时采样不是用户可选项不存在{component}Rotate这类选项。变体过滤tags 选项tagsstring \| string[]可以按标签过滤风格定义的变体池语法为category或category:value如hairLength:long同类别内用或、跨类别用与前缀!表示禁止。详细规则见 标签过滤文档。Icons 预置方案Presets开箱即用的色板为了让用户快速获得成品效果DiceBear 为 Icons 准备了 9 套预置方案全部存放在 icons.json 中。每套 preset 本质上就是一组普通的渲染选项因此它不依赖定义格式、也适用于所有语言库与 HTTP API。预置 id名称设置选项说明sepiaSepiabackgroundColor: [8a6a48, 6b4f35, a3855f, 54402c]四种暖棕背景图标会自行在黑/白之间切换、选对比度更高的一方greyscaleGreyscalebackgroundColor: [343437, 5e5e62, 8c8c90, b6b6b9]四种纯灰背景适合打印样式或禁用态duotoneDuotonebackgroundColor: [3d4272]单一靛蓝背景一组头像共享同一底色、只换图标mutedMuted六种低饱和灰调背景适合头像在场但不抢镜的界面electricElectric六种全饱和背景与muted相反的极端pastel-wallPastel Wall五种柔和背景让一组头像看起来自然协调bold-popBold Pop五种高饱和背景pastel-wall的响亮版sunriseSunrisebackgroundColor: [ffd9b0, ffa8bf]backgroundColorFill: linearbackgroundColorAngle: 135演示渐变背景选项双色 线性填充 固定角度哪个颜色在上仍由 seed 决定stencilStencilbackgroundColor: [16161c]统一近黑底色一组头像只靠图标区分观感如同一张图标页如何使用预置方案预置页面 presets/index.md 说明preset 是普通渲染选项集合你可以把其中的 options 直接复制进自己的代码也可以在 Playground 中通过?preset链接打开并继续微调。例如使用 Sepia 方案const avatar new Avatar(style, { seed: Felix, backgroundColor: [8a6a48, 6b4f35, a3855f, 54402c], });值得注意的是preset 未涉及的选项仍会随 seed 变化——例如 Sepia 的四色背景默认按random顺序洗牌所以即使固定了色板不同 seed 依然能产生多个不同的头像。预置方案的校验机制预置数据由 validate-presets.ts 脚本守护。它以 6 个探测种子Felix、Aneka、Milo、Luna、Dara、Erik对每套 preset 调用new Avatar(style, { seed, ...preset.options })做真实渲染并检查每个 preset 的id、name、summary、description非空且id为 kebab-case不存在重复 id设置的每个选项键都是该风格真正接受的即存在于OptionsDescriptor中枚举选项的值是该风格当前仍存在的变体渲染结果非空——SVG 必须包含use元素防止概率或变体选项把头像清空。这保证了仓库里的 9 套 Icons 预置在任何种子下都能正常渲染、不会静默腐烂。许可证与署名DiceBear 的代码本身是 MIT 许可见 许可证页面而每个头像风格的素材由各自艺术家选择许可。对于 Icons素材来自Bootstrap IconsMIT 许可按 license.ts 的归属判定逻辑Icons 属于port忠实移植而非 remix再创作因此署名措辞是Based on Bootstrap Icons在风格页面与社交卡片OG 卡上保持一致。在你把 Icons 头像用于自己的产品时建议保留与 Bootstrap Icons MIT 许可相符的署名信息。附示例种子与关键文件索引文档站在生成 Icons 预览时使用固定的种子集。例如 previewRowSeeds.ts 为 Icons 风格页首行选用了Dahlia, Iona, Callum, Edgar, Berta, Ella, Aden, Reza八个种子——前四个的字母恰好拼出DICE让任何一位读者打开页面都能看到风格化又不重复的示例。你也可以用任意自己喜欢的英文单词作 seed 来探索该风格。本文涉及的关键仓库文件一览风格文档主体styles/icons/index.md预置文档styles/icons/presets/index.md预置数据theme/presets/icons.json风格页动态组件SiteStylePage.vue多语言用法代码生成器usageSnippets.ts核心选项全表customize/options/index.md许可证与归属逻辑utils/license.ts风格分类表config/styleCategories.ts预置校验脚本scripts/validate-presets.ts确定性随机数实现Prng/Fnv1a.ts、Prng/Mulberry32.ts掌握了这些你就可以把 Icons 头像灵活嵌入网页、桌面端、移动端与各类服务端项目并用背景色板与预置方案快速统一整套头像的视觉语言。赞分享UI组件后端【免费下载链接】dicebearDiceBear is an avatar library for designers and developers. 项目地址https://gitcode.com/gh_mirrors/di/dicebear点击查看免费下载相关推荐DiceBear Icons 风格预设完全指南9 组现成渲染选项与 Playground 调参实践DiceBear Icons 风格预设完全指南9 组现成渲染选项与 Playground 调参实践 Icons 是 DiceBear 中的一个极简头像风格在UI组件后端DiceBear Slice 风格实战指南横向错位条带头像的渲染、预设与选项配置DiceBear Slice 风格实战指南横向错位条带头像的渲染、预设与选项配置 Slice 是 DiceBear 官方头像风格之一它把剪影切成三到六条水平UI组件后端DiceBear Initial Face 头像风格指南在彩色方块上绘制“字母 表情眼睛”的首字母头像DiceBear Initial Face 头像风格指南在彩色方块上绘制“字母 表情眼睛”的首字母头像 Initial Face 是 DiceBear 头UI组件后端上一篇BillionMail 登录被 IP 访问限制拦截怎么解除bm cancel-ip-limit 与 fail2ban 机制下一篇vue2-happyfri组件测试覆盖率提升测试质量的指标创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Jetson Orin 上 RealSense 与 ROS2 环境搭建避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:24:48
MBA论文写作AI工具清单:9个平台按流程用才能高效过关 写MBA论文这件事,说穿了就是一场时间和精力的极限拉扯。白天上班、晚上带娃,周末还要挤出整块时间啃文献、跑数据、憋章节,多少人熬到凌晨三点,对着空白的Word文档和导师那句“框架再想想”欲哭无泪。这几年AI工具集体爆发&#x… · 2026/9/25 4:24:42
neovis.js 实战:Neo4j 图数据浏览器可视化与性能避坑指南 简介:neovis.js 是一套基于 vis.js 构建的图形可视化方案,能够直接连接 Neo4j 实例读取实时数据,在浏览器中渲染交互式图网络,适合需要展示知识图谱、社交关系或社区聚类的前端开发者与数据可视化学习者。资源包共 34 个文件&… · 2026/9/25 4:24:42
STM32 I2C CubeMX配置四大致命陷阱与信号完整性避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:58:52
树莓派4B变身AI牛马:8GB内存跑本地大模型的实践与避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:58:51
OpenClaw驱动SolidWorks二次开发:自然语言建模与自动化导出实战 最近我把 OpenClaw 这个本地 AI Agent 框架和 SolidWorks 的二次开发链路打通了,现在能做到用自然语言直接驱动一部分建模、改参和导出操作。这套组合的定位不是拿 AI 替代 CAD 软件,而是让 AI 当“一个能听懂人话的调度员”,把重复的 API 调… · 2026/9/25 4:58:51
从 Codex CLI 到知识库:TaoToken 统一 Key 驱动的 AI 代理个人知识管理全流程 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 4:58:44
Python寒假作业实战指南:从环境搭建到代码调试全流程 拿到“Python第一次作业(寒假)”这个标题,我第一反应是想起自己当年第一次提交Python作业的样子——表面上是写几段代码,实际上一大半时间都耗在装环境、调报错、纠结“为什么输出和我想要的不一样”上面。这篇文章就是给同样在寒… · 2026/9/25 4:58:44
把显示器插到核显上:5090 单卡跑 Qwen 27B 262K 上下文的显存优化实战 1. 这个标题到底在说什么:先拆解核心逻辑第一次看到“把显示器插到核显上——5090 跑本地 Qwen 3.8 27B,上下文拉满 262K”这个标题,很多人第一反应是:显示器插哪儿跟跑模型有什么关系?这不是玄学吗?我一开… · 2026/9/25 4:58:38
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37