Exemplo n.º 1
0
        static public RGBA operator+(RGBA rgba0, RGBA rgba1)
        {
            int r = rgba0.Red * rgba0.Alpha + rgba1.Red * rgba1.Alpha;
            int g = rgba0.Green * rgba0.Alpha + rgba1.Green * rgba1.Alpha;
            int b = rgba0.Blue * rgba0.Alpha + rgba1.Blue * rgba1.Alpha;
            int a = rgba0.Alpha + rgba1.Alpha;

            if (a != 0)
            {
                return(RGBA.FromRGBA(r / a, g / a, b / a, a));
            }
            else
            {
                return(RGBA.FromRGBA(0, 0, 0, 0));
            }
        }