public EllipseTiltDoF() { Name = "EllipseTiltDoF"; m_ellipseFocus1 = new FocusEllipse(new Point(0.5, 0.3), new EllipseRadius(0.05, 0.2)); m_ellipseFocus2 = new FocusEllipse(new Point(0.5, 0.7), new EllipseRadius(0.05, 0.2)); m_selectedEllipse = m_ellipseFocus1; //Editors.Add(new EnumEditorViewModel<EllipseTiltDoF, DepthOfFieldQuality>("Quality", this, (effect) => //{ // if (effect.m_effectEffect == null) return DepthOfFieldQuality.Preview; // return effect.m_effectEffect.Quality; //}, (effect, value) => //{ // if (effect.m_effectEffect == null) // return; // effect.m_effectEffect.Quality = value; //})); //Editors.Add(new BoolEditorViewModel<EllipseTiltDoF>("InvertedEllipse", this, (effect) => //{ // return effect.m_invertedEllipse; //}, (effect, value) => //{ // effect.m_invertedEllipse = value; // effect.m_selectedEllipse = value ? m_ellipseFocus2 : m_ellipseFocus1; //})); Editors.Add(new RangeEditorViewModelEx<EllipseTiltDoF>("Strength", 0, 1.0, this, (effect) => { if (effect.m_effectEffect == null) return 1.0; return effect.m_effectEffect.Strength; }, (effect, value) => { if (effect.m_effectEffect == null) return; effect.m_effectEffect.Strength = value; })); }
/// <summary> /// Creates and initializes a new elliptic focus depth-of-field effect. /// </summary> /// <param name="source">The source image to be blurred.</param> /// <param name="ellipse">The desired focus area within the image.</param> /// <param name="strength">The strength of the blur effect.</param> /// <param name="quality">The quality of the effect.</param> public EllipticFocusDepthOfFieldEffect(IImageProvider source, FocusEllipse focusArea, double strength, DepthOfFieldQuality quality) : base(source, quality) { FocusArea = focusArea; Strength = strength; }