核心选项
这些选项在每个 DiceBear 核心中都相同:JavaScript、PHP、Python、Rust、Go 和 Dart 库,以及 HTTP API。不同语言之间只有传递 这些选项的方式不同,因此每个库的页面都会以其自身的语法展示。以下选项的名称、 类型、默认值和行为都不会改变。
它们适用于每种头像样式。当类型列出 [min, max] 时,你可以传入固定值或包含 两个元素的元组。PRNG 会从元组的范围内采样一个值。
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
seed | string | '' | 用于确定性生成的种子 |
flip | 'none' | 'horizontal' | 'vertical' | 'both' | 'none' | 翻转头像(接受值数组以进行随机化) |
rotate | number | [min, max] | 0 | 旋转角度(−360 至 360) |
scale | number | [min, max] | 1 | 围绕画布中心的统一缩放比例(0 至 10;1 表示原始大小) |
borderRadius | number | [min, max] | 0 | 画布百分比形式的边框半径(0 至 50;50 会生成圆形) |
size | integer | 未设置 | 输出尺寸(像素)(1 至 4096);未设置时 SVG 会缩放以适应其容器 |
translateX | number | [min, max] | 0 | 相对于画布宽度的水平位移百分比(−1000 至 1000) |
translateY | number | [min, max] | 0 | 相对于画布高度的垂直位移百分比(−1000 至 1000) |
idRandomization | boolean | false | 为每个 SVG id 添加随机的非确定性值(当多个头像共享同一页面时避免 url(#…) 冲突) |
title | string | 未设置 | 无障碍标题;设置后,SVG 会变为 role="img" 并包含 <title> |
fontFamily | string | string[] | 'system-ui' | 基于文本的样式所使用的字体系列(CSS 样式的字体栈,不含引号) |
fontWeight | integer | integer[] | 400 | 基于文本的样式所使用的字体粗细(1 至 1000) |
tags | string | string[] | 未设置 | 仅保留匹配这些 标签 的变体(category 或 category:value,添加 ! 前缀表示排除) |
背景选项
这些选项适用于每种样式,即使其定义中没有声明 background 颜色组。
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
backgroundColor | string | string[] | unset | 以十六进制表示的背景颜色(可省略 #,范围为 #RGB 至 #RRGGBBAA) |
backgroundColorFill | 'solid' | 'linear' | 'radial' | 'solid' | 背景填充类型(接受值数组以进行随机化) |
backgroundColorFillStops | integer | [min, max] | 2 | 渐变断点数量(最少为 2);填充为 solid 时忽略 |
backgroundColorAngle | number | [min, max] | 0 | 以度为单位的渐变角度(−360 至 360) |
backgroundColorOrder | 'random' | 'fixed' | 'random' | 按给定顺序使用颜色(fixed),而不是将其打乱 |
动态组件选项
对于样式中的每个组件(例如 eyes、mouth、hair),都有以下选项可用:
| 模式 | 类型 | 描述 |
|---|---|---|
{component}Variant | string | string[] | { variant: weight } | 限制为特定变体,可选择性地设置权重 |
{component}Probability | number | 可见概率,单位为百分比(0 到 100) |
组件的旋转、平移和缩放会在渲染时根据组件定义进行采样,不是用户选项:不存在 {component}Rotate、{component}TranslateX、{component}TranslateY 或 {component}Scale 选项。
组件别名(通过样式定义中的 extends 声明)不会公开自己的选项键。它们与其扩展的组件共享 {source}Variant 和 {source}Probability。
动态颜色选项
对于样式中的每个颜色组(例如 skin、hair)和 background,以下选项可用:
| 模式 | 类型 | 描述 |
|---|---|---|
{color}Color | string | string[] | 使用十六进制值(可省略 #)覆盖调色板 |
{color}ColorFill | 'solid' | 'linear' | 'radial' | 填充类型(接受值数组以进行随机化) |
{color}ColorFillStops | integer | [min, max] | 渐变色标数量(最少为 2);当填充为 solid 时忽略 |
{color}ColorAngle | number | [min, max] | 以度为单位的渐变角度(−360 至 360) |
{color}ColorOrder | 'random' | 'fixed' | 按给定顺序使用颜色(fixed),而不是打乱颜色顺序 |
使用 {color}ColorOrder: 'fixed' 时,通过 {color}Color 传入的颜色会严格保持给定的顺序:渐变填充会将它们从第一个到最后一个应用为色标,纯色填充始终使用第一个颜色,渐变色标数量默认为给定颜色的数量。不使用 {color}Color 时,fixed 只会跳过打乱步骤;样式的调色板会去重,并按排序后的顺序使用。样式定义中的约束(contrastTo、notEqualTo)仍然适用,因此结果仍可能通过所引用的颜色组依赖种子。
变体标签
当一个样式为其变体添加标签时,tags 选项会一次性在所有组件中,将变体池筛选为你想要的特征。标签可以是 category 或 category:value,例如 animation 或 hairLength:long。同一类别中的值以“或”组合,不同类别以“且”组合,不带值的类别表示必须具备该特征,而前置 ! 表示不允许具备该特征。有关完整规则以及 DiceBear 样式所使用的类别,请参阅使用标签筛选变体。