📄 Colors/example/Program.cs
using System;
using System.Linq;
using Mosaic.Colors;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;

using var image = Image.Load<Rgba32>(args.Length > 0 ? args[0] : @".\images\example1.jpg");

image.ConvertToScaledOklch();
var palette = image.GetPalette();

Console.WriteLine(
    " "
        + string.Join(
            "",
            palette
                .Select(p => p.color.FromScaledOklch())
                .Select(color => $"\e[38;2;{color.R};{color.G};{color.B}m████\e[39m")
        )
);
Console.WriteLine(" " + string.Join("", palette.Select(p => $"{p.proportion * 100, 3:0}%")));