lasserafn/php-initial-avatar-generator
Generate initial-based avatar images in PHP. Create colorful letter avatars (e.g., user initials) for profiles and placeholders, with configurable size, font, colors, and shapes. Lightweight, framework-agnostic, easy to integrate in any app.
Full Changelog: https://github.com/LasseRafn/php-initial-avatar-generator/compare/4.4...4.5
Compile Error: Cannot use lexical variable $font as a parameter name in InitialAvatar.php by @tomStory9 in https://github.com/LasseRafn/php-initial-avatar-generator/pull/64Full Changelog: https://github.com/LasseRafn/php-initial-avatar-generator/compare/4.3...4.4
Full Changelog: https://github.com/LasseRafn/php-initial-avatar-generator/compare/4.2.1...4.3
Cleaned up the base and tests. Added support for switching driver from GD to Imagick, and back.
Removed caching method entirely.
This is considered a minor BC because of parameter renaming.
fixed 3.0.0 bug.
Can now detect language/script and apply a font that supports that script/language.
Supported:
More will come, when more supporting fonts are found.
Will now NOT default to __DIR__ . $fontFile but instead use it as a fallback.
This also means you can specify in an integer for GD Internal fonts or a complete path. Current implementations should still work, as it will simply fallback to the old implementation if no font is found.
I found a way to solve the ugly circle when using rounded(). Now, by using smooth() as well, it will generate a avatar at 5x size (without text) and resize back after the circle has been created. Example below:
Before:

After:

As you can see, the text is unchanged but the circle is far smoother. Use this and supply a avatar double the size of the img tag, and you will get some crisp avatars. ๐
Double size of img tag:
Smooth + double size of img tag:
After seeing https://github.com/sybri/php56-initial-avatar-generator, I decided to add php 5.6 support. Thanks!
It's now possible to use Japanese letters, with a different font.
<?php
require_once 'vendor/autoload.php';
$avatar = new LasseRafn\InitialAvatarGenerator\InitialAvatar();
echo $avatar->font('/fonts/NotoSans-Medium.otf')
->generate('ใใใซใกใฏ')
->stream('data-url');
Can now generate rounded images, however you should default to using border-radius using CSS instead.
I've fixed some stuff, added some docblocks, written more tests and setup monitoring and more.
Aaaaand we're up! ๐
Font sizes are a percentage of the image size. Example: 0.5 = 50% of image size.
Lets say you want to have single letter initials, or maybe even three letters? Well thats possible!
$avatar->name('Michael Burbon Hansen')->length(3)->generate(); // MBH
How can I help you explore Laravel packages today?