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

问题描述 投票:4回答:2

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

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

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

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

c# .net wpf effect
2个回答
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信息的文章(包括也支持Silverlight的文章):qazxsw poi


1
投票

一个非常酷的工具(和资源)是SilverShader – Introduction to Silverlight and WPF Pixel Shaders它将帮助您创建效果,它包含一个很好的教程。

© www.soinside.com 2019 - 2024. All rights reserved.