CSharpUtils.Drawing.ARGB_Rev.Interpolate C# (CSharp) Method

Interpolate() public static method

public static Interpolate ( ARGB_Rev Color1, ARGB_Rev Color2, float Offset ) : ARGB_Rev
Color1 ARGB_Rev
Color2 ARGB_Rev
Offset float
return ARGB_Rev
		public static ARGB_Rev Interpolate(ARGB_Rev Color1, ARGB_Rev Color2, float Offset)
		{
			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 * Offset1A + Color2.A * Offset2A),
				(int)(Color1.R * Offset1C + Color2.R * Offset2C),
				(int)(Color1.G * Offset1C + Color2.G * Offset2C),
				(int)(Color1.B * Offset1C + Color2.B * Offset2C)
			);
		}