SharpMap.Rendering.Thematics.GradientTheme.InterpolateColor C# (CSharp) Method

InterpolateColor() private method

private InterpolateColor ( System minCol, System maxCol, double attr ) : System.Drawing.Color
minCol System
maxCol System
attr double
return System.Drawing.Color
        private System.Drawing.Color InterpolateColor(System.Drawing.Color minCol, System.Drawing.Color maxCol, double attr)
        {
            double frac = Fraction(attr);
            if (frac==1)
                return maxCol;
            else if (frac==0)
                return minCol;
            else
            {
                double r = (maxCol.R - minCol.R) * frac + minCol.R;
                double g = (maxCol.G - minCol.G) * frac + minCol.G;
                double b = (maxCol.B - minCol.B) * frac + minCol.B;
                double a = (maxCol.A - minCol.A) * frac + minCol.A;
                if (r > 255) r = 255;
                if (g > 255) g = 255;
                if (b > 255) b = 255;
                if (a > 255) a = 255;
                return System.Drawing.Color.FromArgb((int)a, (int)r, (int)g, (int)b);
            }
        }