Radiance — PHP‑бібліотека від Tomás López, яка з будь‑якого рядка генерує унікальні детерміновані mesh gradient аватари. При однаковому seed бібліотека завжди відтворює той самий аватар, тож її зручно використовувати для профілів користувачів, identicons і плейсхолдерів зображень.
Бібліотека потребує PHP 8.2 або новішого й встановлюється через Composer:
composer require tomloprod/radiance
В основі Radiance — fluent API для налаштувань. Ось простий приклад генерації SVG‑аватара:
radiance()
->seed('ericlbarnes')
->text('EB')
->baseColor('#f9332b')
->toSvg();
Методи можна ланцюжити, щоб змінити зовнішній вигляд аватара:
radiance()
->seed('predmond@example.com')
->text('PR')
->size(128)
->baseColor('#f9332b')
->squircle()
->saturation(1.6)
->textShadow(2)
->toBase64();
Пакет пропонує кілька варіантів форми — зокрема коло, squircle (закруглений квадрат) та квадрат. До виходу можна додати текст із автоматичним підбором розміру шрифту й тінями.
У Radiance є опції для детального налаштування аватарів:
- Shape and Size: Керуйте розмірами та вибирайте між
circle(),square()абоsquircle() - Colors: Встановіть
baseColor()або використайтеsolidColor()для однотонного результату - Filters: Регулюйте
saturation(),contrast()таfadeDistance() - Text: Налаштуйте
fontFamily(),fontSizeRatio()таtextShadow() - Pixel Patterns: Додавайте identicon‑подібні накладки з
pixelGridSize(),pixelOpacity(),pixelDensity()та опціями форми
На виході підтримується генерація SVG через toSvg() та кодування в Base64 через toBase64().
Radiance побудовано на Colority — іншій бібліотеці того ж автора для роботи з кольорами.
Спробувати бібліотеку можна в інтерактивному playground на radiance.tomloprod.dev, а вихідний код — на GitHub.