Mixbox for C#

Install Mixbox from the NuGet package: https://www.nuget.org/packages/Mixbox/2.0.0

Usage

using System.Drawing;
using Scrtwpns.Mixbox;

public class HelloMixbox
{
    public static void Main(string[] args)
    {
        Color color1 = Color.FromArgb(0, 33, 133);  // blue
        Color color2 = Color.FromArgb(252, 211, 0); // yellow
        float t = 0.5f;                             // mixing ratio

        Color colorMix = Color.FromArgb(Mixbox.Lerp(color1.ToArgb(), color2.ToArgb(), t));

        System.Console.WriteLine(colorMix);
    }
}

Mixing Multiple Colors

Color MixThree(Color color1, Color color2, Color color3)
{
    MixboxLatent z1 = Mixbox.RGBToLatent(color1.ToArgb());
    MixboxLatent z2 = Mixbox.RGBToLatent(color2.ToArgb());
    MixboxLatent z3 = Mixbox.RGBToLatent(color3.ToArgb());

    // mix 30% of color1, 60% of color2, and 10% of color3
    MixboxLatent zMix = 0.3f*z1 + 0.6f*z2 + 0.1f*z3;

    return Color.FromArgb(Mixbox.LatentToRGB(zMix));
}

Pigment Colors

Pigment

RGB

Float RGB

Linear RGB

Cadmium Yellow

254, 236, 0

0.996, 0.925, 0.0

0.991, 0.839, 0.0

Hansa Yellow

252, 211, 0

0.988, 0.827, 0.0

0.973, 0.651, 0.0

Cadmium Orange

255, 105, 0

1.0, 0.412, 0.0

1.0, 0.141, 0.0

Cadmium Red

255, 39, 2

1.0, 0.153, 0.008

1.0, 0.02, 0.001

Quinacridone Magenta

128, 2, 46

0.502, 0.008, 0.18

0.216, 0.001, 0.027

Cobalt Violet

78, 0, 66

0.306, 0.0, 0.259

0.076, 0.0, 0.054

Ultramarine Blue

25, 0, 89

0.098, 0.0, 0.349

0.01, 0.0, 0.1

Cobalt Blue

0, 33, 133

0.0, 0.129, 0.522

0.0, 0.015, 0.235

Phthalo Blue

13, 27, 68

0.051, 0.106, 0.267

0.004, 0.011, 0.058

Phthalo Green

0, 60, 50

0.0, 0.235, 0.196

0.0, 0.045, 0.032

Permanent Green

7, 109, 22

0.027, 0.427, 0.086

0.002, 0.153, 0.008

Sap Green

107, 148, 4

0.42, 0.58, 0.016

0.147, 0.296, 0.001

Burnt Sienna

123, 72, 0

0.482, 0.282, 0.0

0.198, 0.065, 0.0