private void ResetButton_Click(object sender, RoutedEventArgs e) { if (mode == LevelMode.RGB) { range.mid[0] = 0.5f; range.max[0] = 1; range.min[0] = 0; range.mid[1] = 0.5f; range.max[1] = 1; range.min[1] = 0; range.mid[2] = 0.5f; range.max[2] = 1; range.min[2] = 0; } else { int g = (int)mode; range.min[g] = 0; range.max[g] = 1; range.mid[g] = 0.5f; } MultiSlider.Set(0, 0.5f, 1); property.SetValue(propertyOwner, range); }
public UILevels(RawBitmap fromBitmap, object owner, PropertyInfo p) { InitializeComponent(); mode = LevelMode.RGB; property = p; propertyOwner = owner; range = (MultiRange)p.GetValue(owner); fromBit = fromBitmap; MultiSlider.Set(range.min[0], range.mid[0], range.max[0]); inputFromUser = false; }
private void ResetButton_Click(object sender, RoutedEventArgs e) { if (mode == LevelMode.RGB) { range.mid[0] = 0.5f; range.max[0] = 1; range.min[0] = 0; range.mid[1] = 0.5f; range.max[1] = 1; range.min[1] = 0; range.mid[2] = 0.5f; range.max[2] = 1; range.min[2] = 0; } else { int g = (int)mode; range.min[g] = 0; range.max[g] = 1; range.mid[g] = 0.5f; } range.min[3] = 0; range.max[3] = 1; MultiSlider.Set(0, 0.5f, 1); ValueRange.Set(0, 1); if (ctk != null) { ctk.Cancel(); } ctk = new CancellationTokenSource(); Task.Delay(250, ctk.Token).ContinueWith(t => { if (t.IsCanceled) { return; } Application.Current.Dispatcher.Invoke(() => { property.SetValue(propertyOwner, range); }); }); }
private void Channels_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBoxItem item = (ComboBoxItem)Channels.SelectedItem; string c = (string)item.Content; mode = (LevelMode)Enum.Parse(typeof(LevelMode), c); if (mode != LevelMode.RGB) { int g = (int)mode; MultiSlider.Set(range.min[g], range.mid[g], range.max[g]); } else { MultiSlider.Set(range.min[0], range.mid[0], range.max[0]); } //build histogram Histogram.Mode = mode; }