【问题标题】:How would one go about creating one’s own graphics effect in WPF?如何在 WPF 中创建自己的图形效果?
【发布时间】:2011-08-11 20:38:51
【问题描述】:

我的应用程序中有一个Image 对象,用户可以拖动它。该对象显示一个部分透明的图像,因此可以通过它看到窗口背景(它本身就是一个位图)。

我想为这个对象添加图形效果。假设我已经有了这个效果的算法——这不是问题。问题是如何将此算法引入 WPF。

所以我尝试查看DropShadowEffect 是如何工作的,但是Reflector 中显示的实现是空的。我还尝试查看抽象类 EffectShaderEffect 中的哪些方法我应该重写,似乎与实际渲染效果没有任何关系。

那么如何创建自己的效果呢?

【问题讨论】:

    标签: c# .net wpf effect


    【解决方案1】:

    最好和最快的方法是使用pixel shaders(我认为从 WPF 3.5 SP1 开始支持)。不过,这将需要一些着色器语言 (HLSL) 知识:-)

    这里有一个教程:How Do I: Create Custom Pixel Shader Effects for WPF

    codeplex 上的一个库:Windows Presentation Foundation Pixel Shader Effects Library

    一篇包含 .NET 4 信息的文章(包括对 Sliverlight 的支持):SilverShader – Introduction to Silverlight and WPF Pixel Shaders

    【讨论】:

      【解决方案2】:

      Shazzam 是一个非常酷的工具(和资源),它将帮助您创建效果,并且它包含一个很好的教程。

      【讨论】:

        猜你喜欢
        • 2011-02-26
        • 2012-02-20
        • 2022-08-20
        • 1970-01-01
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        • 2016-02-17
        • 2011-07-21
        相关资源
        最近更新 更多