none
DrawingContext 投影,模糊等效果 RRS feed

答案

全部回复

  • 比较急啊,希望知道的高手能帮帮忙
    2012年1月17日 8:31
  • WPF 4 中默认取消了很多Effect,不过他开始支持Pixel Shader 3了,而且我们通过一个第三方工具 http://shazzam-tool.com/ 是可以很方便的设计处WPF所用的Pixel Shader的,加上这个工具本身也提供了很多例子里面就有你想要的 投影模糊等。 另外,Codeplex 上也有一个项目提供了很多特效:http://wpffx.codeplex.com/

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2012年1月17日 9:26
    版主
  • ?????

    • 已建议为答案 Jie BaoModerator 2012年1月18日 3:56
    • 已标记为答案 Mr.Brandy 2012年1月18日 5:54
    • 取消答案标记 Mr.Brandy 2012年1月18日 6:00
    • 已标记为答案 Mr.Brandy 2012年1月18日 6:00
    • 已编辑 Shi Xin 2015年7月27日 7:57
    2012年1月18日 0:56
  • 谢谢,我会看看的
    2012年1月18日 5:51
  • 您好,谢谢你的回答!

    我是继承Canvas然后重写OnRender方法来使用的DrawingContext,你上面的例子应该是使用DrawingVisual的RenderOpen来创建的DrawingContext。应该就这点区别,谢谢你的例子,我再看看吧

    2012年1月18日 5:53
  • 现在我的做法是这样的,请告诉我应该怎么加上特效,谢谢了

    ---------------------------------------------------------------------

      protected override void OnRender(DrawingContext dc)
            {
                BitmapImage image = new BitmapImage(new Uri("X.jpg", UriKind.Relative));
                DrawingVisual visual = new DrawingVisual();
                //DropShadowEffect
                DropShadowEffect effect = new DropShadowEffect();
                effect.Color = Colors.Black;
                effect.BlurRadius = 5;
                effect.Opacity = 0.5;
                effect.ShadowDepth = 15;
                effect.Direction = 320;
                //effect
                visual.Effect = effect;
                //不知道如何加上特效
                dc.DrawImage(image, new Rect(200, 20, 300, 200));
    }
    


     

    2012年1月18日 6:19
  • 你的 OnRender 是谁的方法? 是不是他就有Effect. 试试 this.Effect = effect;


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    • 已标记为答案 Mr.Brandy 2012年1月18日 8:01
    • 取消答案标记 Mr.Brandy 2012年1月18日 8:02
    2012年1月18日 6:38
    版主
  • bao哥下午好。

    OnRender是Canvas的方法,我创建了一个DesignerCanvas:Canvas  重写OnReder方法,从而使用DrawingContext来实现的绘图,目的是实现在一张画布上绘制图形,如果设置了This.Effect = effect; 那我画布上所以图形都具有了这个Effect了。

    我需要的是通过DrawingContext.DrawSomting()的时候,来指定这个图形所具有的Effect。

    2012年1月18日 7:24
  • ?????

    • 已标记为答案 Mr.Brandy 2012年1月19日 2:54
    • 已编辑 Shi Xin 2015年7月27日 7:57
    2012年1月18日 11:22
  • 很感谢shixin,和bob bao 对我的帮助,

    上面的例子很详细,解决了我的问题,

    看来我确实需要对这个Brush系统的学习一次了

    再次非常的感谢!

     

    2012年1月19日 2:56