Матовая стальная щетка в WPF? - PullRequest
9 голосов
/ 19 августа 2010

Я ищу идеи для создания кисти WPF с металлической щеткой, похожей на стиль MacOSX Panther, желательно без использования ImageBrush. Есть ли какой-нибудь интересный способ использовать GradientBrush для создания этого эффекта?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 21 августа 2010

Я не знаю, как это легко сделать с помощью программных кистей, но когда я использовал Photoshop для создания эффекта матовой стали, я по существу создал шум, а затем смазал (размыл) его в направлении чистки:

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

Как уже упоминалось в комментариях, вы можете сделать это и создать некую (повторяющуюся?) Кисть изображения.Если вы хотите, чтобы ваш эффект матовой стали генерировался программно, вы можете написать средний фильтр, чтобы сделать размытие для вас.Генерация шума достаточно проста:)

Пример реализации среднего фильтра:

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

Измените это, чтобы иметь матрицу Nx1 или иметь маленький (ноль)для весов не на текущей строке, и вы будете иметь горизонтальное размытие.

1 голос
/ 20 августа 2010

Вы можете использовать повернутую LinearGradientBrush со многими GradientStops в различных оттенках серого. Ну, это как минимум подход. Для того, чтобы он был масштабируемым, вам нужно было бы сделать GradientStops шириной всего в один пиксель, что, вероятно, потребует придания кисти размера заполненного объекта. Может стать трудной задачей, но это судьба настоящего хакера, не так ли?

...