renfordt/larvatar

一个PHP包,为您提供多种头像变体。

v1.4.1 2024-04-16 19:38 UTC

This package is auto-updated.

Last update: 2024-09-06 20:58:22 UTC


README

Badge Packagist Version Packagist PHP Version GitHub License GitHub Actions Workflow Status Code Climate coverage Code Climate maintainability

Larvatar是一个结合了不同头像风格的包,例如Gravatar、Initials Avatar。

Avatar Types

安装

推荐安装Larvatar的方法是使用Composer。运行以下命令将Larvatar安装到您的项目中

composer require renfordt/larvatar

使用

一般使用方法很简单。创建一个新的Larvatar类,插入名称、电子邮件和您想要的头像类型。

<?php
use Renfordt\Larvatar\Enum\LarvatarTypes;
use Renfordt\Larvatar\Larvatar;

$larvatar = new Larvatar('Test Name', 'test@test.com', LarvatarTypes::InitialsAvatar);
$larvatar->setFont('Roboto,sans-serif', './font/Roboto-bold.ttf');
echo $larvatar->getImageHTML();

// if you need base64 encryption, currently this works only for InitialsAvatar
echo $larvatar->getImageHTML('base64');
// or if you need just the base64 string:
echo $larvatar->getBase64();

目前有八种不同的头像类型可供选择

\Renfordt\Larvatar\Enum\LarvatarTypes::InitialsAvatar;  // Microsoft Teams like avatar with initials
\Renfordt\Larvatar\Enum\LarvatarTypes::Gravatar;        // Gravatar
\Renfordt\Larvatar\Enum\LarvatarTypes::mp;              // (Gravatar) MysticPerson, simple cartoon-style silhouette (default)
\Renfordt\Larvatar\Enum\LarvatarTypes::identicon;       // (Gravatar) A geometric pattern based on a email hash 
\Renfordt\Larvatar\Enum\LarvatarTypes::monsterid;       // (Gravatar) A generated monster different colors and faces
\Renfordt\Larvatar\Enum\LarvatarTypes::wavatar;         // (Gravatar) generated faces with differing features and backgrounds
\Renfordt\Larvatar\Enum\LarvatarTypes::retro;           // (Gravatar) 8-bit arcade-style pixelated faces
\Renfordt\Larvatar\Enum\LarvatarTypes::robohash;        // (Gravatar) A generated robot with different colors, faces, etc

InitialsAvatar

形式

InitialsAvatar允许您在三种不同的形式之间进行选择。默认为圆形,还可以选择六边形和正方形。您可以使用setForm()方法选择它。输入可以是字符串或FormTypes枚举值的其中一个。

$larvatar = new Larvatar('Your Name', type: LarvatarTypes::InitialsAvatar);
$larvatar->initialsAvatar->setForm('circle');
$larvatar->initialsAvatar->setForm('square');
$larvatar->initialsAvatar->setForm('hexagon');

$larvatar->initialsAvatar->setForm(FormTypes::Circle);
$larvatar->initialsAvatar->setForm(FormTypes::Square);
$larvatar->initialsAvatar->setForm(FormTypes::Hexagon);

如果您使用的是六边形形式,您还可以选择旋转形式。

$larvatar = new Larvatar('Your Name', type: LarvatarTypes::InitialsAvatar);
$larvatar->initialsAvatar->setForm(FormTypes::Hexagon);
$larvatar->initialsAvatar->setRotation(30);

颜色

通常颜色会自动根据提供的名称选择。如果您在某些情况下想手动设置颜色的对比度,可以使用setBackgroundLightness()setTextLightness()方法。参数是一个范围在01之间的浮点数,其中0表示较深的颜色,1表示较浅的颜色。

$larvatar = new Larvatar('Your Name', type: LarvatarTypes::InitialsAvatar);
$larvatar->initialsAvatar->setBackgroundLightness(0.1);
$larvatar->initialsAvatar->setTextLightness(0.8);

此外,您还可以更改偏移量,这将生成不同的颜色。

$larvatar = new Larvatar('Your Name', type: LarvatarTypes::InitialsAvatar);
$larvatar->initialsAvatar->setOffset(4);

字体粗细

您还可以使用setFontWeight()方法更改字体粗细。

$larvatar = new Larvatar('Your Name', type: LarvatarTypes::InitialsAvatar);
$larvatar->initialsAvatar->setFontWeight('bold');