renfordt / larvatar
一个PHP包,为您提供多种头像变体。
v1.4.1
2024-04-16 19:38 UTC
Requires
- php: ^8.1
- ext-gd: *
- meyfa/php-svg: ^0.14.0
- renfordt/clamp: ^1.0
Requires (Dev)
- orchestra/testbench: ^v8.22
- phpunit/phpunit: ^10.5
README
Larvatar是一个结合了不同头像风格的包,例如Gravatar、Initials Avatar。
安装
推荐安装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()
方法。参数是一个范围在0
到1
之间的浮点数,其中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');