2010-08-19 54 views
9

我正在寻找想法来创建一个WPF画笔,用拉丝钢看,类似于MacOSX Panther风格,最好不诉诸ImageBrush。 有没有一种使用GradientBrush创建这种效果的时髦方式?WPF中的拉丝钢刷?

提前致谢!

+0

有没有你不想使用ImageBrush的原因?我不认为有一种简单的方法可以用其他刷子来做... – 2010-08-19 08:43:44

+0

@Thomas:我怀疑这一点。一个ImageBrush缩放严重,不是吗?理想情况下,笔刷在我的96 DPI桌面和我的200 DPI嵌入式设备上看起来都一样。但如果你知道如何设计合适的图像教程,我也会appriciate =) – Jens 2010-08-19 08:57:41

回答

3

我不知道如何使用程序化笔刷很容易地做到这一点,但是当我使用Photoshop创建拉丝钢效果时,本质上会产生噪点,然后在刷牙方向上涂抹(模糊):

http://www.adamdorman.com/tutorials/brushed_steel_tutorial.php

正如在评论中提到一个人,你可能要做到这一点,并建立某种形式的(重复?)图像刷。如果您希望以编程方式生成拉丝钢效果,则可以编写一个平均过滤器来为您制作模糊效果。产生噪声足够:)简单

实现的平均滤波器的一个例子:不能在当前行

http://homepages.inf.ed.ac.uk/rbf/HIPR2/mean.htm

修改这个具有NX1矩阵,或具有小的(零)的权重,你会有一个水平的模糊。

+0

感谢您的答案!这不会很容易重现为WPF笔刷,但可能值得一试。我会把问题留空一段时间=) – Jens 2010-08-23 06:34:14

1

您可以将旋转的LinearGradientBrush与许多GradientStops用于不同的灰色调。那么,这至少是一种方法。为了使其具有可扩展性,我们需要将GradientStops的宽度设置为一个像素,这可能需要将填充对象的大小赋予笔刷。可能成为一项艰巨的任务,但这是一个真正的黑客的命运,不是吗?