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 →
Validate and Convert HEIC Images in Laravel image

Validate and Convert HEIC Images in Laravel

Read article
Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues image

Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues

Read article
Reject Unexpected Array Keys with Laravel Validation image

Reject Unexpected Array Keys with Laravel Validation

Read article
Major performance improvements & security patches for Filament v4.12 and v5.7! image

Major performance improvements & security patches for Filament v4.12 and v5.7!

Read article
Laravel Boost Project Rules: Teach Agents Your Conventions image

Laravel Boost Project Rules: Teach Agents Your Conventions

Read article
Extract an Image's Dominant Color in Laravel image

Extract an Image's Dominant Color in Laravel

Read article