コード例 #1
0
        public ColorRGB RotateAboutBlue(double amount)
        {
            double c = DoubleEx.CosCircle(amount);
            double s = DoubleEx.SinCircle(amount);

            return(new ColorRGB(c * R - s * G, s * R + c * G, B, A));
        }
コード例 #2
0
        public ColorRGB RotateAboutGreen(double amount)
        {
            double c = DoubleEx.CosCircle(amount);
            double s = DoubleEx.SinCircle(amount);

            return(new ColorRGB(c * R + s * B, G, -s * R + c * B, A));
        }
コード例 #3
0
        public ColorRGB RotateAboutRed(double amount)
        {
            double c = DoubleEx.CosCircle(amount);
            double s = DoubleEx.SinCircle(amount);

            return(new ColorRGB(R, c * G - s * B, s * G + c * B, A));
        }
コード例 #4
0
        public ColorCMY RotateAboutYellow(double amount)
        {
            double cs = DoubleEx.CosCircle(amount);
            double sn = DoubleEx.SinCircle(amount);

            return(new ColorCMY(cs * C - sn * M, sn * C + cs * M, Y, Z));
        }
コード例 #5
0
        public ColorCMY RotateAboutMagenta(double amount)
        {
            double cs = DoubleEx.CosCircle(amount);
            double sn = DoubleEx.SinCircle(amount);

            return(new ColorCMY(cs * C + sn * Y, M, -sn * C + cs * Y, Z));
        }
コード例 #6
0
        public ColorCMY RotateAboutCyan(double amount)
        {
            double cs = DoubleEx.CosCircle(amount);
            double sn = DoubleEx.SinCircle(amount);

            return(new ColorCMY(C, cs * M - sn * Y, sn * M + cs * Y, Z));
        }