private PixelColorSampleCondition GetCondition() { PixelColorSampleCondition result = new PixelColorSampleCondition { Red = Conditions[0].ToParameter(), Green = Conditions[1].ToParameter(), Blue = Conditions[2].ToParameter(), Hue = Conditions[3].ToParameter(), Saturation = Conditions[4].ToParameter(), Luminosity = Conditions[5].ToParameter(), }; if (rbMajority.IsChecked == true) { result.Source = ConditionSource.Majority; result.MatchedSamples = new SampleCondtionParameter { MaxValue = 100, MinValue = 50, State = ConditionState.Include }; } else { result.Source = ConditionSource.Average; result.MatchedSamples = new SampleCondtionParameter { MaxValue = 100, MinValue = 50, State = ConditionState.NotUsed }; } return(result); }
public ConditionEditorDialog(PixelColorSampleCondition condition) { Conditions = new List <ConditionViewModel>(); Conditions.Add(new ConditionViewModel("Red", 0, 255, condition?.Red)); Conditions.Add(new ConditionViewModel("Green", 0, 255, condition?.Green)); Conditions.Add(new ConditionViewModel("Blue", 0, 255, condition?.Blue)); Conditions.Add(new ConditionViewModel("Hue", 0, 360, condition?.Hue)); Conditions.Add(new ConditionViewModel("Sat", 0, 100, condition?.Saturation)); Conditions.Add(new ConditionViewModel("Lum", 0, 100, condition?.Luminosity)); InitializeComponent(); if (condition != null) { switch (condition.Source) { case ConditionSource.Average: rbAverage.IsChecked = true; break; case ConditionSource.Majority: rbMajority.IsChecked = true; break; default: throw new ArgumentOutOfRangeException(); } } foreach (var cond in Conditions) { cond.PropertyChanged += CondOnPropertyChanged; } }
public ConditionEditorDialog(PixelColorSampleCondition condition, AnalysisParameters parameters) { Conditions = new List <ConditionViewModel>(); Conditions.Add(new ConditionViewModel("Red", 0, 255, condition?.Red)); Conditions.Add(new ConditionViewModel("Green", 0, 255, condition?.Green)); Conditions.Add(new ConditionViewModel("Blue", 0, 255, condition?.Blue)); Conditions.Add(new ConditionViewModel("Hue", 0, 360, condition?.Hue)); Conditions.Add(new ConditionViewModel("Sat", 0, 100, condition?.Saturation)); Conditions.Add(new ConditionViewModel("Lum", 0, 100, condition?.Luminosity)); InitializeComponent(); if (condition != null) { switch (condition.Source) { case ConditionSource.Average: rbAverage.IsChecked = true; break; case ConditionSource.Majority: rbMajority.IsChecked = true; break; default: throw new ArgumentOutOfRangeException(); } } if (parameters != null) { switch (parameters.Method) { case TimeStampDeterminationMethod.FirstOccurence: rbFirst.IsChecked = true; break; case TimeStampDeterminationMethod.Center: rbCenter.IsChecked = true; break; case TimeStampDeterminationMethod.LastOccurence: rbLast.IsChecked = true; break; default: throw new ArgumentOutOfRangeException(); } } foreach (var cond in Conditions) { cond.PropertyChanged += CondOnPropertyChanged; } }
private PixelColorSampleCondition GetCondition() { PixelColorSampleCondition result = new PixelColorSampleCondition { Red = Conditions[0].ToParameter(), Green = Conditions[1].ToParameter(), Blue = Conditions[2].ToParameter(), Hue = Conditions[3].ToParameter(), Saturation = Conditions[4].ToParameter(), Luminosity = Conditions[5].ToParameter(), Type = rbAbsolute.IsChecked == true ? ConditionType.Absolute : ConditionType.Relative }; return(result); }
private void SetCondition(PixelColorSampleCondition condition) { _condition = condition; colorSampleBar.SampleCondition = condition; }
private void DialogOnLiveConditionUpdate(object sender, PixelColorSampleCondition condition) { SetCondition(condition); }
protected virtual void OnLiveConditionUpdate(PixelColorSampleCondition condition) { LiveConditionUpdate?.Invoke(this, condition); }