mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-15 00:12:50 +08:00

* Adding social card infrastructure * Upgrades doc project to .NET 6 * Adds Playwright * Changes the console to a web project for Playwright * Adds social card template * Added blog content * Parallelized social image processing * Updating CI to use .NET 6 for docs build
1.6 KiB
1.6 KiB
Title: Canvas Image Order: 70 Description: "Use ImageSharp to parse images and render them as Ascii art to the console."
To add ImageSharp superpowers to your console application to draw images, you will need to install the Spectre.Console.ImageSharp NuGet package.
> dotnet add package Spectre.Console.ImageSharp
Loading images
Once you've added the Spectre.Console.ImageSharp
NuGet package,
you can create a new instance of CanvasImage
to draw images to the console.
// Load an image
var image = new CanvasImage("cake.png");
// Set the max width of the image.
// If no max width is set, the image will take
// up as much space as there is available.
image.MaxWidth(16);
// Render the image to the console
AnsiConsole.Render(image);
Result
Manipulating images
You can take full advantage of ImageSharp and manipulate images directly via it's Processing API.
// Load an image
var image = new CanvasImage("cake.png");
image.MaxWidth(32);
// Set a sampler that will be used when scaling the image.
image.BilinearResampler();
// Mutate the image using ImageSharp
image.Mutate(ctx => ctx.Grayscale().Rotate(-45).EntropyCrop());
// Render the image to the console
AnsiConsole.Render(image);