0%

头像生成工具

起因

在我的项目中,用户注册后会获得默认头像。虽然后续可以自行更改,但未免太过单调。于是我便想起注册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
2
3
4
5
6
7
8
import { createAvatar } from '@dicebear/core';
import { bottts } from '@dicebear/bottts';

const avatar = createAvatar(bottts, {
seed: 'darkyellowcat'
});

const svg = avatar.toString();

功能

支持十几种风格(像素、商务、卡通、漫画…)

支持通过 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相较而言功能较少,仅通过名称生成首字母头像,风格和种类较少。

但风格单一换来的是,它几乎不需要学习成本,且更加轻量级,适合喜欢简约风或轻量化配置的用户。

当然,你也可以在配置中同时引入两种工具,根据情况选用。