Exemple #1
0
        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;
            }
        }
Exemple #3
0
        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);
        }
Exemple #5
0
 private void SetCondition(PixelColorSampleCondition condition)
 {
     _condition = condition;
     colorSampleBar.SampleCondition = condition;
 }
Exemple #6
0
 private void DialogOnLiveConditionUpdate(object sender, PixelColorSampleCondition condition)
 {
     SetCondition(condition);
 }
Exemple #7
0
 protected virtual void OnLiveConditionUpdate(PixelColorSampleCondition condition)
 {
     LiveConditionUpdate?.Invoke(this, condition);
 }