Example #1
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            HarmoniesType htt = MainPage.HarmonyOption;

            switch (htt)
            {
            case HarmoniesType.Analogous:
                Option1.IsChecked = true;
                break;

            case HarmoniesType.Triadric:
                Option2.IsChecked = true;
                break;

            case HarmoniesType.Complimentary:
                Option3.IsChecked = true;
                break;

            case HarmoniesType.SplitComplimentary:
                Option4.IsChecked = true;
                break;

            case HarmoniesType.DoubleComplimentary:
                Option5.IsChecked = true;
                break;

            default:
                Option0.IsChecked = true;
                break;
            }
            Update(htt);
        }
Example #2
0
        private void Option_Checked(object sender, RoutedEventArgs e)
        {
            RadioButton   rb  = (RadioButton)sender;
            string        op  = rb.Name.Remove(0, 6);
            HarmoniesType htt = (HarmoniesType)int.Parse(op);

            Update(htt);
            MainPage.HarmonyOption = htt;
        }
Example #3
0
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     GlobalColor = new Color
     {
         R = 255,
         G = 0,
         B = 100,
         A = 255
     };
     HarmonyOption = HarmoniesType.Monochromatic;
     WindowFrame.Navigate(typeof(ColorHSBPage));
 }
Example #4
0
        private void Update(HarmoniesType htt)
        {
            OutputPanel.Children.Clear();
            ColorHSB          color     = new ColorHSB(MainPage.GlobalColor);
            List <ColorHSB[]> harmonies = new List <ColorHSB[]>();
            List <int>        hues      = new List <int>();
            int colorCount;

            switch (htt)
            {
            case HarmoniesType.Analogous:
                colorCount = 3;
                hues.Add(color.Hue);
                hues.Add(color.Hue - 30 >= 0 ? color.Hue - 30 : color.Hue + 330);
                hues.Add(color.Hue + 30 <= 360?color.Hue + 30:color.Hue - 330);
                break;

            case HarmoniesType.Triadric:
                colorCount = 4;
                hues.Add(color.Hue);
                hues.Add(color.Hue + 90 <= 360 ? color.Hue + 90 : color.Hue - 270);
                hues.Add(color.Hue + 180 <= 360 ? color.Hue + 180 : color.Hue - 180);
                hues.Add(color.Hue + 270 <= 360 ? color.Hue + 270 : color.Hue - 90);
                break;

            case HarmoniesType.Complimentary:
                colorCount = 2;
                hues.Add(color.Hue);
                hues.Add(color.Hue + 180 <= 360 ? color.Hue + 180 : color.Hue - 180);
                break;

            case HarmoniesType.SplitComplimentary:
                colorCount = 3;
                hues.Add(color.Hue);
                hues.Add(color.Hue + 150 <= 360 ? color.Hue + 150 : color.Hue - 230);
                hues.Add(color.Hue - 150 >= 0 ? color.Hue - 150 : color.Hue + 230);
                break;

            case HarmoniesType.DoubleComplimentary:
                colorCount = 4;
                hues.Add(color.Hue - 30 >= 0 ? color.Hue - 30 : color.Hue + 330);
                hues.Add(color.Hue + 30 <= 360 ? color.Hue + 30 : color.Hue - 330);
                hues.Add(color.Hue + 150 <= 360 ? color.Hue + 150 : color.Hue - 230);
                hues.Add(color.Hue - 150 >= 0 ? color.Hue - 150 : color.Hue + 230);
                break;

            default:
                colorCount = 1;
                hues.Add(color.Hue);
                break;
            }

            foreach (int i in hues)
            {
                harmonies.Add(SingleColorPalette(i));
            }

            for (int i = 0; i < colorCount; i++)
            {
                StackPanel sPanel = new StackPanel
                {
                    Orientation = Orientation.Vertical
                };
                for (int e = 0; e < 11; e++)
                {
                    Rectangle rect = new Rectangle
                    {
                        Height = 25,
                        Width  = 50,
                        Fill   = new SolidColorBrush(harmonies[i][e].ColorRGB)
                    };
                    sPanel.Children.Add(rect);
                }
                OutputPanel.Children.Add(sPanel);
            }
        }