Laravel Packages

Radiance: Generate Deterministic Mesh Gradient Avatars in PHP

Published
Radiance: Generate Deterministic Mesh Gradient Avatars in PHP image

Radiance is a PHP library by Tomás López that generates unique, deterministic mesh gradient avatars from any input string. Given the same seed, the library produces identical avatars every time, making it a practical choice for user profiles, identicons, and placeholder images.

The library requires PHP 8.2 or higher and can be installed via Composer:

composer require tomloprod/radiance

At its core, Radiance uses a fluent API for configuration. Here's a basic example that generates an SVG avatar:

radiance()
->seed('ericlbarnes')
->text('EB')
->baseColor('#f9332b')
->toSvg();

You can chain additional methods to customize the avatar's appearance:

radiance()
->seed('predmond@example.com')
->text('PR')
->size(128)
->baseColor('#f9332b')
->squircle()
->saturation(1.6)
->textShadow(2)
->toBase64();
Sample Circle Radiance Image Sample Squircle Radiance Image Sample Square Radiance Image
Sample Images generated by Radiance

The package offers multiple shape options, including circles, squircles (rounded squares), and squares. You can customize the output with text overlays that include automatic font resizing and shadow effects.

Radiance includes several configuration options for fine-tuning your avatars:

  • Shape and Size: Control dimensions and choose between circle(), square(), or squircle()
  • Colors: Set a baseColor() or use solidColor() for non-gradient outputs
  • Filters: Adjust saturation(), contrast(), and fadeDistance()
  • Text: Customize with fontFamily(), fontSizeRatio(), and textShadow()
  • Pixel Patterns: Add identicon-style overlays with pixelGridSize(), pixelOpacity(), pixelDensity(), and shape options

For output, the library supports both SVG generation via toSvg() and Base64 encoding with toBase64().

Radiance is built on top of Colority, another library by the same author for color manipulation.

You can explore the library with an interactive playground at radiance.tomloprod.dev and view the source code on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Fresh Package: Laravel Package Skeleton with Testbench, CI, and Boost Integration image

Fresh Package: Laravel Package Skeleton with Testbench, CI, and Boost Integration

Read article
Inertia DevTools Now Available for Firefox image

Inertia DevTools Now Available for Firefox

Read article
Laravel Scalpel Scans for Filesystem Intrusion Evidence image

Laravel Scalpel Scans for Filesystem Intrusion Evidence

Read article
Mercure Broadcasting in Laravel 13.32 image

Mercure Broadcasting in Laravel 13.32

Read article
Super Stack: Laravel Starter Kit With Filament and NativePHP image

Super Stack: Laravel Starter Kit With Filament and NativePHP

Read article
Laravel MCP 1.0 Is Released image

Laravel MCP 1.0 Is Released

Read article