Exemplo n.º 1
0
        /// <summary>
        /// Manipulate (and resize) an image
        /// </summary>
        /// <param name="source"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public override Bitmap Manipulate(object source, ImageManipulationSettings parameters)
        {
            var image = Resize(source, parameters);

            var filters = new FiltersSequence();

            if (parameters.Gamma.HasValue)
                filters.Add(new GammaCorrection(parameters.Gamma.Value));

            if (parameters.Sharpen.HasValue)
                filters.Add(new Sharpen { Threshold = (int)parameters.Sharpen.Value });

            if (parameters.Hue.HasValue)
                filters.Add(new HueModifier((int)parameters.Hue.Value));

            if (parameters.Saturation.HasValue)
                filters.Add(new SaturationCorrection((float)parameters.Saturation.Value));

            if (parameters.Brightness.HasValue)
                filters.Add(new BrightnessCorrection((int)parameters.Brightness.Value));

            if (parameters.Contrast.HasValue)
                filters.Add(new ContrastCorrection((int)parameters.Contrast.Value));

            return filters.Count == 0
                ? image
                : filters.Apply(image);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Manipulate (and resize) an image
        /// </summary>
        /// <param name="source"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public override Bitmap Manipulate(object source, ImageManipulationSettings parameters)
        {
            var image = Resize(source, parameters);

            var filters = new FiltersSequence();

            if (parameters.Gamma.HasValue)
            {
                filters.Add(new GammaCorrection(parameters.Gamma.Value));
            }

            if (parameters.Sharpen.HasValue)
            {
                filters.Add(new Sharpen {
                    Threshold = (int)parameters.Sharpen.Value
                });
            }

            if (parameters.Hue.HasValue)
            {
                filters.Add(new HueModifier((int)parameters.Hue.Value));
            }

            if (parameters.Saturation.HasValue)
            {
                filters.Add(new SaturationCorrection((float)parameters.Saturation.Value));
            }

            if (parameters.Brightness.HasValue)
            {
                filters.Add(new BrightnessCorrection((int)parameters.Brightness.Value));
            }

            if (parameters.Contrast.HasValue)
            {
                filters.Add(new ContrastCorrection((int)parameters.Contrast.Value));
            }

            return(filters.Count == 0
                ? image
                : filters.Apply(image));
        }