如何在WPF中创建自己的图形效果呢?

时间:2011-04-24 13:24:45

标签: c# .net wpf effect

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

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

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

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

2 个答案:

答案 0 :(得分:3)

最好和最快的方法是使用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

答案 1 :(得分:1)

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