Animatroller.Framework.Utility.RgbConverter.GetRGBAW C# (CSharp) Метод

GetRGBAW() публичный статический Метод

public static GetRGBAW ( Color inp ) : RGBAW
inp Color
Результат RGBAW
        public static RGBAW GetRGBAW(Color inp)
        {
            var result = new RGBAW();

            result.W = (byte)(Math.Min(Math.Min(inp.R, inp.G), inp.B));

            int amber = inp.R - result.W;
            int a2 = (inp.G - result.W) * 2;
            if (amber > a2)
                result.A = (byte)a2;
            else
                result.A = (byte)amber;

            result.R = (byte)(inp.R - result.W - result.A);
            result.G = (byte)(inp.G - result.W - (result.A / 2));
            result.B = (byte)(inp.B - result.W);

            return result;
        }