起因
在我的项目中,用户注册后会获得默认头像。虽然后续可以自行更改,但未免太过单调。于是我便想起注册GitHub时,会根据用户的名称自动生成一个头像,还不用担心版权问题。于是我在项目中引入了头像生成工具,测试成功后分享给大家。
Dicebear
简介
Dicebear 是一个开源的头像生成服务,支持 SVG、PNG 等多种格式。
它的特色是:风格丰富、可定制项多、无需复杂后端即可直接使用。无论是像素风、卡通风,还是圆形首字母,都能一键生成。
更重要的是,Dicebear 是 MIT License,使用范围宽松,不存在版权风险。
导入
1. 直接请求 API(最简单)
1 | https://api.dicebear.com/7.x/{style}/svg?seed={text} |
例如:
https://api.dicebear.com/7.x/bottts/svg?seed=darkyellowcat
返回的就是一个 SVG 头像。
2. NPM 包
1 | npm install @dicebear/core @dicebear/bottts |
示例:
1 | import { createAvatar } from '@dicebear/core'; |
功能
支持十几种风格(像素、商务、卡通、漫画…)
支持通过 seed 保证「同名用户头像固定」
提供性别随机化、配色方案、表情样式等配置
可直接返回 SVG 或 PNG
CDN 快速访问,不占用自己服务器
ui-avatars
简介
ui-avatars是一个简单、轻量的姓名首字母头像生成工具。(GMail的用户头像就是单字母)
它不支持复杂的风格,但胜在简单、稳定、无需依赖库,访问速度快。
导入
只需直接请求 API:
1 | https://ui-avatars.com/api/?name={Name}&background=random |
例如:
1 | https://ui-avatars.com/api/?name=Dark+Bird&background=random |
返回的是 PNG 图片。
功能
不需要 seed,直接根据名称生成
配置参数简单易懂
轻量、稳定、无额外依赖
不会出现风格过于跳脱的问题
对比
ui-avatars相较而言功能较少,仅通过名称生成首字母头像,风格和种类较少。
但风格单一换来的是,它几乎不需要学习成本,且更加轻量级,适合喜欢简约风或轻量化配置的用户。
当然,你也可以在配置中同时引入两种工具,根据情况选用。