예제 #1
0
        public static DoubleColor AlterHue(
            this DoubleColor c,
            ColorWheelBase wheel,
            double hue
            )
        {
            AHSB src  = c.ToAHSB();
            AHSB dest = wheel.GetColor(hue).ToAHSB();

            dest.Saturation = src.Saturation;
            dest.Brightness = src.Brightness;
            dest.Alpha      = src.Alpha;

            return(dest.Double());
        }
        protected virtual void UpdateHSBComponents(
            )
        {
            AHSB p = m_previous.ToAHSB();
            AHSB c = m_color.ToAHSB();

            if (p.HueDegree != c.HueDegree)
            {
                FirePropertyChanged("Hue360");
            }

            if (p.Saturation255 != c.Saturation255)
            {
                FirePropertyChanged("Saturation255");
            }

            if (p.Brightness255 != c.Brightness255)
            {
                FirePropertyChanged("Brightness255");
            }
        }
 public override double GetAngle(
     DoubleColor c
     )
 {
     return(ToWheelAngle(c.ToAHSB().HueDegree));
 }