public override System.Windows.Media.ImageSource SaveImage() { ImageSource result = null; var parameter = new AlgorithmParameter() { Value = (int)SliderOneValue, ParameterName = SliderNameOne }; var parameter1 = new AlgorithmParameter() { Value = (int)SliderTwoValue, ParameterName = SliderNameTwo }; List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(parameter); algorithmParameter.Add(parameter1); algorithmParameter.Add(lastSelectedColour); result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message); if (!String.IsNullOrEmpty(Message)) { MessageBox.Show("Some error occured \n" + Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } return(result); }
/// <summary> /// Constructor /// </summary> /// <param name="effect"></param> public SliderSelectionViewModel(Effects effect) { AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect); ImageProcessingAlgorithm.SetEffects(effect); slider = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.SingleInput); parameterName = (slider.Options.Keys.First() as AlgorithmParameter).ParameterName; SliderValue = (Minimum + (Max - Minimum) / 2); }
/// <summary> /// Loads the image /// </summary> /// <param name="fileName"></param> public override void LoadImage(string fileName) { InputImage = ImageProcessingAlgorithm.LoadInputImage(fileName, out Message); if (lastSelected != null) { SelectMethod(lastSelected); } }
/// <summary> /// Load Images /// </summary> /// <param name="fileName"></param> public override void LoadImage(string fileName) { InputImage = ImageProcessingAlgorithm.LoadInputImage(fileName, out Message); ApplyEffect(); List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(lastSelected); //PreviewImages = ImageProcessingAlgorithm.GetPreview(algorithmParameter, out Message); }
/// <summary> /// Constructor /// </summary> /// <param name="effect"></param> public MultipleChoiceViewModel(Effects effect) { selectMethodCommand = new DelegateCommand(new Action <object>(SelectMethod)); ImageProcessingAlgorithm.SetEffects(effect); AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect); var method = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice); lastSelected = method.Options.First().Key; }
/// <summary> /// Select method /// </summary> /// <param name="methodName"></param> protected void SelectMethod(object methodName) { lastSelected = methodName as AlgorithmParameter; if (InputImage != null) { List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(lastSelected); OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message); } }
public MultipleChoiceSliderViewModel(Effects effect) { ImageProcessingAlgorithm.SetEffects(effect); AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect); slider = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.SingleInput); parameterName = (slider.Options.Keys.First() as AlgorithmParameter).ParameterName; SliderValue = Max / 2; var method = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice); lastSelected = method.Options.First().Key; selectMethodCommand = new DelegateCommand(new Action <object>(SelectMethod)); }
void SelectColour(object colour) { if (InputImage != null && lastSelected != null) { var param = (KeyValuePair <Algorithm.AlgorithmParameter, string>)colour; lastSelectedColour = param.Key; List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(lastSelectedColour); algorithmParameter.Add(lastSelected); OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message); } }
/// <summary> /// Gets the image to be saved in original size /// </summary> /// <returns></returns> public override ImageSource SaveImage() { ImageSource result = null; if (lastSelected != null && lastSelectedColour != null && InputImage != null) { List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(lastSelectedColour); algorithmParameter.Add(lastSelected); result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message); } return(result); }
/// <summary> /// Algorithm adapted from Imagemagick /// </summary> void ApplyEffect() { if (InputImage != null) { var parameter = new AlgorithmParameter() { Value = (int)sliderValue, ParameterName = parameterName }; List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(parameter); OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message); } }
void SelectMethod(object methodName) { lastSelected = methodName as AlgorithmParameter; if (InputImage != null) { List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); var parameter = new AlgorithmParameter() { Value = (int)sliderValue, ParameterName = parameterName }; algorithmParameter.Add(parameter); algorithmParameter.Add(lastSelected); OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message); } }
/// <summary> /// Get the image to be saved in original size /// </summary> /// <returns></returns> public override ImageSource SaveImage() { if (InputImage != null) { List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(lastSelected); var result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message); if (!String.IsNullOrEmpty(Message)) { MessageBox.Show("Some error occured \n" + Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } return(result); } return(null); }
/// <summary> /// Constructor /// </summary> /// <param name="effect"></param> public DoubleSliderViewModel(Effects effect) { AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect); ImageProcessingAlgorithm.SetEffects(effect); sliderOneParam = AlgorithmOptions.First(x => (x.InputType == Algorithm.InputType.SingleInput) && (x.ParameterName == "BlockWidth")); sliderTwoParam = AlgorithmOptions.First(x => (x.InputType == Algorithm.InputType.SingleInput) && (x.ParameterName == "BlockHeight")); SliderOneValue = ((MaxSliderOne - MinSliderOne) / 2) + MinSliderOne; SliderTwoValue = ((MaxSliderTwo - MinSliderTwo) / 2) + MinSliderTwo; var colours = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice && x.ParameterName == "BorderColour"); lastSelectedColour = colours.Options.First(x => x.Value == "Gray").Key; selectColour = new DelegateCommand(new Action <object>(SelectColour)); }
/// <summary> /// Constructor /// </summary> /// <param name="effect"></param> public MultipleChoiceColourSelectionViewModel(Algorithm.Effects effect) { selectMethodCommand = new DelegateCommand(new Action <object>(SelectMethod)); selectColour = new DelegateCommand(new Action <object>(SelectColour)); ImageProcessingAlgorithm.SetEffects(effect); AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect); if (effect == Effects.XRay) { lastSelected = new AlgorithmParameter(); } else { var method = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice && x.ParameterName == "Method"); lastSelected = method.Options.First().Key; } var colours = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice && x.ParameterName == "Colour"); lastSelectedColour = colours.Options.First(x => x.Value == "Gray").Key; }
/// <summary> /// Gets image to save in original size /// </summary> /// <returns></returns> public override ImageSource SaveImage() { ImageSource result = null; if (InputImage != null) { var parameter = new AlgorithmParameter() { Value = (int)sliderValue, ParameterName = parameterName }; List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(parameter); result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message); if (!String.IsNullOrEmpty(Message)) { MessageBox.Show("Some error occured \n" + Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } return(result); }
/// <summary> /// Apply the effect on change of slider value or colour change /// </summary> void ApplyEffect() { if (InputImage != null) { var parameter = new AlgorithmParameter() { Value = (int)SliderOneValue, ParameterName = SliderNameOne }; var parameter1 = new AlgorithmParameter() { Value = (int)SliderTwoValue, ParameterName = SliderNameTwo }; List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>(); algorithmParameter.Add(parameter); algorithmParameter.Add(parameter1); algorithmParameter.Add(lastSelectedColour); OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message); } }
/// <summary> /// Loads the image /// </summary> /// <param name="fileName"></param> public override void LoadImage(string fileName) { InputImage = ImageProcessingAlgorithm.LoadInputImage(fileName, out Message); ApplyEffect(); }