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); }
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; }
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)); }
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); } }