public static ARGB_Rev Mix(ARGB_Rev Color1, ARGB_Rev Color2, float Offset = 0.5f)
{
var Offset1A = MathUtils.FastClamp(Offset, 0, 1);
var Offset2A = 1 - Offset1A;
var Offset1C = Offset1A * (Color1.Af);
var Offset2C = Offset2A * (Color2.Af);
MathUtils.NormalizeSum(ref Offset1C, ref Offset2C);
return new ARGB_Rev(
(int)(Color1.A + Color2.A),
(int)(Color1.R * Offset1C + Color2.R * Offset2C),
(int)(Color1.G * Offset1C + Color2.G * Offset2C),
(int)(Color1.B * Offset1C + Color2.B * Offset2C)
);
}