//Fog:迷雾
        private void FogButton_Tapped(object sender, TappedRoutedEventArgs e)
        {
            flyout.Hide();

            Layer l = App.Model.Layers[App.Model.Index];

            //如果图层不可视或透明
            if (l.Visual == false || l.Opacity <= 0)
            {
                App.Tip(App.resourceLoader.GetString("/Layer/Hided_"));
            }
            else
            {
                //Undo:撤销
                Undo undo = new Undo();
                undo.TargeInstantiation(App.Model.Index, App.Model.CurrentRenderTarget);
                App.UndoAdd(undo);

                ICanvasImage ic = new TurbulenceEffect
                {
                    Octaves = 4,
                    Size    = new Vector2(App.Model.Width, App.Model.Height)
                };
                using (CanvasDrawingSession ds = l.CanvasRenderTarget.CreateDrawingSession())
                {
                    ds.DrawImage(ic, 0, 0, App.Model.MaskRenderTarget.Bounds, 1, CanvasImageInterpolation.Linear, CanvasComposite.DestinationOut);//绘画:特效渲染目标
                }

                l.SetWriteableBitmap(App.Model.VirtualControl); //刷新缩略图
                App.Model.isReRender = true;                    //重新渲染
                App.Model.Refresh++;                            //画布刷新
            }
        }
Example #2
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            turbulence = new TurbulenceEffect //柏林噪波
            {
                Octaves = 8,
                Size    = new Vector2(App.Model.Width, App.Model.Height),
            };

            Slider.Value              = App.Setting.GlassAmount;
            NumberPicker.Value        = (int)App.Setting.GlassAmount;
            Slider.ValueChanged      += Slider_ValueChanged;
            NumberPicker.ValueChange += NumberPicker_ValueChange;

            Render();
        }