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

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article