VeeFriends.UI 5.0.8

This package has a SemVer 2.0.0 package version: 5.0.8+b158bbc47a.
dotnet add package VeeFriends.UI --version 5.0.8
                    
NuGet\Install-Package VeeFriends.UI -Version 5.0.8
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VeeFriends.UI" Version="5.0.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VeeFriends.UI" Version="5.0.8" />
                    
Directory.Packages.props
<PackageReference Include="VeeFriends.UI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add VeeFriends.UI --version 5.0.8
                    
#r "nuget: VeeFriends.UI, 5.0.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package VeeFriends.UI@5.0.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=VeeFriends.UI&version=5.0.8
                    
Install as a Cake Addin
#tool nuget:?package=VeeFriends.UI&version=5.0.8
                    
Install as a Cake Tool

VeeFriends.UI

.NET 9 License ImageSharp

A powerful .NET library for generating dynamic, comic-book style text images with professional effects. Perfect for creating eye-catching headings, logos, and promotional graphics with stroke outlines, drop shadows, and custom transformations.

โœจ Features

  • ๐ŸŽฏ Comic-Book Style Text - Professional stroke outlines and drop shadows
  • ๐ŸŒˆ Rich Color Support - Full RGB/RGBA with smart color encoding
  • ๐Ÿ”„ CSS-Like Transforms - Rotation and skew transformations
  • ๐Ÿ“ฑ URL Serialization - Compact, URL-friendly parameter encoding
  • โšก High Performance - Optimized memory management and auto-cropping
  • ๐ŸŽจ Custom Typography - Multiple font weights and styles
  • ๐Ÿ”ง Dependency Injection Ready - First-class DI support
  • ๐Ÿงช Thoroughly Tested - Comprehensive test suite

๐Ÿš€ Quick Start

Installation

dotnet add package VeeFriends.UI

Basic Usage

using Microsoft.Extensions.DependencyInjection;
using VeeFriends.UI;
using VeeFriends.UI.Options;

// Setup DI
var services = new ServiceCollection();
services.AddVeeFriendsUI();
var provider = services.BuildServiceProvider();

// Create headings
var headings = provider.GetRequiredService<Headings>();

// Simple text with defaults
using var image = headings.Create("COLLECTIBLES");
await image.SaveAsPngAsync("output.png");

๐ŸŽจ Examples

Default Comic-Book Style

using var image = headings.Create("AWESOME TEXT");

Creates white text with black stroke outline and drop shadow, with subtle skew and rotation for dynamic comic-book appearance.

Custom Styling

var options = new HeadingOptions
{
    Text = "CUSTOM STYLE",
    FontSize = 96,
    TextColor = Color.Yellow,
    StrokeColor = Color.Red,
    StrokeWidth = 4f,
    ShadowDepth = 12f,
    ShadowSmoothness = 1.2f
};

using var image = headings.Create(options);

Transformed Text

var options = new HeadingOptions
{
    Text = "ROTATED & SKEWED",
    FontSize = 80,
    Rotation = -15f,    // Rotate 15 degrees counter-clockwise
    SkewX = -20f,       // Skew left for dynamic effect
    TextColor = Color.Blue,
    StrokeColor = Color.White
};

using var image = headings.Create(options);

Minimal Clean Text

var options = new HeadingOptions
{
    Text = "CLEAN TEXT",
    HasShadow = false,
    HasStroke = false,
    TextColor = Color.Black,
    FontSize = 64,
    Rotation = 0,
    SkewX = 0
};

using var image = headings.Create(options);

๐Ÿ› ๏ธ Advanced Features

URL Serialization

Perfect for web applications - serialize styling options to compact URLs:

var options = new HeadingOptions
{
    Text = "Hello World",
    FontSize = 96,
    TextColor = Color.Red,
    Rotation = -5f
};

// Serialize to URL path
string urlPath = options.ToUrlPath();
// Result: "/txt:Hello+World,fs:96,tc:R,rot:-5/"

// Deserialize back
var restored = urlPath.FromUrlPath();

Color Encoding:

  • Common colors use short codes: R (Red), B (Blue), Y (Yellow)
  • Custom colors use hex: 7B2D43 (RGB) or FF000080 (RGBA)
  • Transparent colors supported with alpha channel

Dependency Injection

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddVeeFriendsUI();
        // FontLoader, LogoLoader, and Headings are now available
    }
}

๐Ÿ“‹ Configuration Options

Property Type Default Description
Text string? null The text to render
FontSize float 128 Font size in pixels
TextColor Color White Main text color
HasStroke bool true Enable stroke outline
StrokeColor Color Black Stroke outline color
StrokeWidth float 2.5f Stroke thickness in pixels
HasShadow bool true Enable drop shadow
ShadowColor Color Black Shadow color
ShadowDepth float 8f Shadow offset distance
ShadowExpansion float 1f Shadow size expansion
ShadowSmoothness float 0.8f Shadow edge smoothness
SkewX float -10f Horizontal skew in degrees
Rotation float -2f Rotation in degrees
IsUpper bool true Convert text to uppercase

๐ŸŽฏ Use Cases

  • Marketing Graphics - Eye-catching promotional text
  • Social Media - Branded content and memes
  • Gaming UI - Dynamic game titles and notifications
  • Web Applications - Generated heading images
  • Print Media - High-quality text graphics
  • Merchandise - T-shirt and product designs

๐Ÿ”ง Requirements

  • .NET 9+
  • SixLabors.ImageSharp 3.x

๐Ÿ—๏ธ Architecture

Built on enterprise-grade foundations:

  • Memory Safe - Proper resource disposal and exception handling
  • Performance Optimized - Zero-allocation string operations where possible
  • Thread Safe - Concurrent operations supported
  • Extensible - Clean separation of concerns

๐Ÿค Contributing

We welcome contributions! Please see our contributing guidelines for details.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with โค๏ธ for the VeeFriends community

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.8 137 9/18/2025
5.0.7 80 9/16/2025
5.0.6 35 9/16/2025
5.0.5 33 9/16/2025
5.0.4 28 9/16/2025
5.0.3 26 9/16/2025
5.0.2 32 9/16/2025
5.0.1 29 9/16/2025