コード例 #1
0
ファイル: RgbConverter.cs プロジェクト: HakanL/animatroller
        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;
        }
コード例 #2
0
        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);
        }