示例#1
0
        public PopEffect()
        {
            var globalCurve = new Curve(CurveInterpolation.NaturalCubicSpline)
            {
                Points = new[]
                {
                    new Point(0, 0),
                    new Point(68, 60),
                    new Point(144, 163),
                    new Point(255, 255),
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Pop3.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Pop3.png",
                "ms-appx:///images/Filters_Square_Overlay_Pop3.png");

            LayerList = new LayerList()
            {
                new AdjustmentLayer(LayerStyle.Normal(), new ContrastEffect(1.0)),
                new AdjustmentLayer(LayerStyle.Normal(), new CurvesEffect(globalCurve)),
                new AdjustmentLayer(LayerStyle.Normal(), new GrayscaleEffect(0.54, 0.64, 0.0, -0.1)),
                new AdjustmentLayer(LayerStyle.Normal(), new LevelsEffect(0.7, 0.7 / 2, 0)),
                new Layer(LayerStyle.Screen(1.0), context => new ColorImageSource(context.HintedRenderSize, Color.FromArgb(255, 108, 0, 148))),
                new Layer(LayerStyle.Lighten(), context => overlayFactory.CreateAsync(context.HintedRenderSize))
            };
        }
        public DreamEffect()
        {
            Name = "Dream";

            var diagonalGradient = new LinearGradient
            {
                StartPoint = new Point(0.0, 0.0),
                EndPoint = new Point(1.0, 1.0),

                Stops = new[]
                {
                    new GradientStop {Offset = 0, Color = Color.FromArgb(255, 133, 147, 201)},
                    new GradientStop {Offset = 1.0, Color = Color.FromArgb(255, 245, 152, 157)}
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Dream.jpg", 
                "ms-appx:///images/Filters_Portrait_Overlay_Dream.jpg", 
                "ms-appx:///images/Filters_Square_Overlay_Dream.jpg");

            LayerList = new LayerList(
				new AdjustmentLayer(LayerStyle.Normal(), new LevelsEffect(0.75, 0.85, 0.15)),
                new Layer(LayerStyle.Softlight(), context => new GradientImageSource(context.BackgroundLayer.ImageSize, diagonalGradient)),
                new Layer(LayerStyle.Overlay(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
            );
        }
        public FantasticEffect()
        {
            var globalCurve = new Curve(CurveInterpolation.NaturalCubicSpline)
            {
                Points = new[]
                {
                    new Point(0, 0),
                    new Point(68, 60),                    
                    new Point(144, 163),                    
                    new Point(255, 255),            
                }
            };

            var overlayFactory1 = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Fantastic1.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Fantastic1.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Fantastic1.jpg");

            var overlayFactory2 = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Fantastic2.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Fantastic2.png",
                "ms-appx:///images/Filters_Square_Overlay_Fantastic2.png");
            
            LayerList = new LayerList()
            {
                new AdjustmentLayer(LayerStyle.Normal(), new ContrastEffect(1.0)),
                new AdjustmentLayer(LayerStyle.Normal(), new CurvesEffect(globalCurve)),
                new AdjustmentLayer(LayerStyle.Normal(), new GrayscaleEffect(0.54, 0.64, 0.0, -0.1)),
                new Layer(LayerStyle.Softlight(), context => overlayFactory1.CreateAsync(context.BackgroundLayer.ImageSize)),
                new Layer(LayerStyle.Normal(), context => overlayFactory2.CreateAsync(context.BackgroundLayer.ImageSize))
            };
        }
        public OldPosterEffect()
        {
            // Curves
            var globalCurve = new Curve(CurveInterpolation.NaturalCubicSpline)
            {
                Points = new[]
                {
                    new Point(0, 0),                  
                    new Point(38, 17),
                    new Point(160, 210),                    
                    new Point(231, 250),
                    new Point(255, 255)                   
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Poster2.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Poster2.png",
                "ms-appx:///images/Filters_Square_Overlay_Poster2.png");

            LayerList = new LayerList(
                new AdjustmentLayer(LayerStyle.Normal(), new GrayscaleEffect(0.54, 0.64, 0.0, -0.1)),
                new AdjustmentLayer(LayerStyle.Normal(), new CurvesEffect(globalCurve)),
                new Layer(LayerStyle.Multiply(), context => new ColorImageSource(context.BackgroundLayer.ImageSize, Color.FromArgb(255, 255, 167, 151))),
                new Layer(LayerStyle.Normal(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
            );
        }
        public PopEffect()
        {
            var globalCurve = new Curve(CurveInterpolation.NaturalCubicSpline)
            {
                Points = new[]
                {
                    new Point(0, 0),
                    new Point(68, 60),                    
                    new Point(144, 163),                    
                    new Point(255, 255),            
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Pop3.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Pop3.png",
                "ms-appx:///images/Filters_Square_Overlay_Pop3.png");

            LayerList = new LayerList()
            {
                new AdjustmentLayer(LayerStyle.Normal(), new ContrastEffect(1.0)),
                new AdjustmentLayer(LayerStyle.Normal(),  new CurvesEffect(globalCurve)),
                new AdjustmentLayer(LayerStyle.Normal(), new GrayscaleEffect(0.54, 0.64, 0.0, -0.1)),
                new AdjustmentLayer(LayerStyle.Normal(), new LevelsEffect(0.7, 0.7 / 2, 0)),
                new Layer(LayerStyle.Screen(1.0), context => new ColorImageSource(context.HintedRenderSize, Color.FromArgb(255, 108, 0, 148))),
                new Layer(LayerStyle.Lighten(), context => overlayFactory.CreateAsync(context.HintedRenderSize))
            };
        }
示例#6
0
        public FantasticEffect()
        {
            var globalCurve = new Curve(CurveInterpolation.NaturalCubicSpline)
            {
                Points = new[]
                {
                    new Point(0, 0),
                    new Point(68, 60),
                    new Point(144, 163),
                    new Point(255, 255),
                }
            };

            var overlayFactory1 = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Fantastic1.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Fantastic1.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Fantastic1.jpg");

            var overlayFactory2 = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Fantastic2.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Fantastic2.png",
                "ms-appx:///images/Filters_Square_Overlay_Fantastic2.png");

            LayerList = new LayerList()
            {
                new AdjustmentLayer(LayerStyle.Normal(), new ContrastEffect(1.0)),
                new AdjustmentLayer(LayerStyle.Normal(), new CurvesEffect(globalCurve)),
                new AdjustmentLayer(LayerStyle.Normal(), new GrayscaleEffect(0.54, 0.64, 0.0, -0.1)),
                new Layer(LayerStyle.Softlight(), context => overlayFactory1.CreateAsync(context.BackgroundLayer.ImageSize)),
                new Layer(LayerStyle.Normal(), context => overlayFactory2.CreateAsync(context.BackgroundLayer.ImageSize))
            };
        }
示例#7
0
        public DreamEffect()
        {
            Name = "Dream";

            var diagonalGradient = new LinearGradient
            {
                StartPoint = new Point(0.0, 0.0),
                EndPoint   = new Point(1.0, 1.0),

                Stops = new[]
                {
                    new GradientStop {
                        Offset = 0, Color = Color.FromArgb(255, 133, 147, 201)
                    },
                    new GradientStop {
                        Offset = 1.0, Color = Color.FromArgb(255, 245, 152, 157)
                    }
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Dream.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Dream.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Dream.jpg");

            LayerList = new LayerList(
                new AdjustmentLayer(LayerStyle.Normal(), new LevelsEffect(0.75, 0.85, 0.15)),
                new Layer(LayerStyle.Softlight(), context => new GradientImageSource(context.BackgroundLayer.ImageSize, diagonalGradient)),
                new Layer(LayerStyle.Overlay(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
                );
        }
示例#8
0
        public OldPosterEffect()
        {
            // Curves
            var globalCurve = new Curve(CurveInterpolation.NaturalCubicSpline)
            {
                Points = new[]
                {
                    new Point(0, 0),
                    new Point(38, 17),
                    new Point(160, 210),
                    new Point(231, 250),
                    new Point(255, 255)
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Poster2.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Poster2.png",
                "ms-appx:///images/Filters_Square_Overlay_Poster2.png");

            LayerList = new LayerList(
                new AdjustmentLayer(LayerStyle.Normal(), new GrayscaleEffect(0.54, 0.64, 0.0, -0.1)),
                new AdjustmentLayer(LayerStyle.Normal(), new CurvesEffect(globalCurve)),
                new Layer(LayerStyle.Multiply(), context => new ColorImageSource(context.BackgroundLayer.ImageSize, Color.FromArgb(255, 255, 167, 151))),
                new Layer(LayerStyle.Normal(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
                );
        }
示例#9
0
        public LightEffect()
        {
            var globalCurve = new Curve(CurveInterpolation.Linear, new[]
            {
                new Point(0, 0),
                new Point(41, 59),
                new Point(112, 146),
                new Point(189, 211),
                new Point(255, 255)
            });

            var redCurve = new Curve(CurveInterpolation.Linear, new[]
            {
                new Point(18, 0),
                new Point(126, 116),
                new Point(255, 228),
            });

            Curve.Compose(redCurve, globalCurve, redCurve);

            var greenCurve = globalCurve;

            var blueCurve = new Curve(CurveInterpolation.Linear, new[]
            {
                new Point(0, 44),
                new Point(113, 138),
                new Point(230, 255),
            });

            Curve.Compose(blueCurve, globalCurve, blueCurve);

            var gradient = new RadialGradient
            {
                EllipseRadius = new EllipseRadius(1.5, 0),
                CenterPoint   = new Point(0.5, 0.5),
                Stops         = new[]
                {
                    new GradientStop {
                        Offset = 0, Color = Color.FromArgb(0, 0, 0, 0)
                    },
                    new GradientStop {
                        Offset = 1, Color = Color.FromArgb(255, 255, 255, 255)
                    }
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Light.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Light.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Light.jpg");

            LayerList = new LayerList()
            {
                new AdjustmentLayer(LayerStyle.Normal(0.2), new CurvesEffect(redCurve, greenCurve, blueCurve)),
                new Layer(LayerStyle.Softlight(0.3), context => new ColorImageSource(context.BackgroundLayer.ImageSize, Color.FromArgb(255, 200, 200, 200))),
                new Layer(LayerStyle.Softlight(0.7), context => new GradientImageSource(context.BackgroundLayer.ImageSize, gradient)),
                new Layer(LayerStyle.Screen(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
            };
        }
        public LightEffect()
        {
            var globalCurve = new Curve(CurveInterpolation.Linear, new[]
            {
                    new Point(0, 0),
                    new Point(41, 59),
                    new Point(112, 146),
                    new Point(189, 211),
                    new Point(255, 255)
            });

            var redCurve = new Curve(CurveInterpolation.Linear, new[]
            {
                new Point(18, 0),
                new Point(126, 116),
                new Point(255, 228),
            });

            Curve.Compose(redCurve, globalCurve, redCurve);

            var greenCurve = globalCurve;

            var blueCurve = new Curve(CurveInterpolation.Linear, new[]
            {
                new Point(0, 44),
                new Point(113, 138),
                new Point(230, 255),
            });
            
            Curve.Compose(blueCurve, globalCurve, blueCurve);

            var gradient = new RadialGradient
            {
                EllipseRadius = new EllipseRadius(1.5, 0),
                CenterPoint = new Point(0.5, 0.5),
                Stops = new[]
                {
                    new GradientStop {Offset = 0, Color = Color.FromArgb(0, 0, 0, 0)},
                    new GradientStop {Offset = 1, Color = Color.FromArgb(255, 255, 255, 255)}
                }
            };

            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Light.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Light.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Light.jpg");

            LayerList = new LayerList()
            {
                new AdjustmentLayer(LayerStyle.Normal(0.2), new CurvesEffect(redCurve, greenCurve, blueCurve)),
                new Layer(LayerStyle.Softlight(0.3), context => new ColorImageSource(context.BackgroundLayer.ImageSize, Color.FromArgb(255, 200, 200, 200))),
                new Layer(LayerStyle.Softlight(0.7), context => new GradientImageSource(context.BackgroundLayer.ImageSize, gradient)),
                new Layer(LayerStyle.Screen(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
            };
        }
示例#11
0
        public ReflectiveGlassEffect()
        {
            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Reflect.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Reflect.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Reflect.jpg")
            {
                HorizontalAlignment = HorizontalAlignment.None
            };

            LayerList.AddRange(
                new Layer(LayerStyle.Screen(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))
                );
        }
        public ReflectiveGlassEffect()
        {
            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Reflect.jpg",
                "ms-appx:///images/Filters_Portrait_Overlay_Reflect.jpg",
                "ms-appx:///images/Filters_Square_Overlay_Reflect.jpg")
            {
                HorizontalAlignment = HorizontalAlignment.None
            };

            LayerList.AddRange(
                new Layer(LayerStyle.Screen(), context => overlayFactory.CreateAsync(context.BackgroundLayer.ImageSize))            
            );
        }
        public MagzineStarEffect()
        {
            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Magazine.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Magazine.png",
                "ms-appx:///images/Filters_Square_Overlay_Magazine.png")
            {
                HorizontalAlignment = HorizontalAlignment.None
            };

            LayerList.AddRange(
                new Layer(LayerStyle.Normal(targetArea: new Rect(0.02, 0.02, 0.96, 0.96)), context => overlayFactory.CreateAsync(context.HintedRenderSize))
            );
        }
示例#14
0
        public MagzineStarEffect()
        {
            var overlayFactory = new OverlayFactory(
                "ms-appx:///images/Filters_Landscape_Overlay_Magazine.png",
                "ms-appx:///images/Filters_Portrait_Overlay_Magazine.png",
                "ms-appx:///images/Filters_Square_Overlay_Magazine.png")
            {
                HorizontalAlignment = HorizontalAlignment.None
            };

            LayerList.AddRange(
                new Layer(LayerStyle.Normal(targetArea: new Rect(0.02, 0.02, 0.96, 0.96)), context => overlayFactory.CreateAsync(context.HintedRenderSize))
                );
        }