Я ищу идеи для создания кисти WPF с металлической щеткой, похожей на стиль MacOSX Panther, желательно без использования ImageBrush. Есть ли какой-нибудь забавный способ использовать GradientBrush для создания этого эффекта?
Заранее спасибо!
Я не знаю, как это легко сделать с помощью программных кистей, но когда я использовал Photoshop для создания матовой стали эффекта, я по существу создал шум, а затем размазал (размыл) его в направлении чистки:
http://www.adamdorman.com/tutorials/brasted_steel_tutorial.php
Как кто-то упомянул в комментариях, вы можете захотеть для этого и создайте своего рода (повторяющуюся?) кисть изображения. Если вы хотите, чтобы эффект матовой стали создавался программно, вы можете написать средний фильтр, который сделает размытие за вас. Генерация шума достаточно проста :)
Пример реализации среднего фильтра:
http://homepages.inf.ed.ac.uk/rbf/HIPR2/mean.htm
Измените это, чтобы иметь Матрица Nx1, или иметь маленький (нулевой) вес для весов не на текущей строке, и у вас будет горизонтальное размытие.
Вы можете использовать повернутую кисть LinearGradientBrush со множеством GradientStops в разных оттенках серого. Ну это хоть подход. Чтобы он был масштабируемым, вам каким-то образом нужно было бы сделать GradientStops шириной всего один пиксель, что, вероятно, потребует указания размера заполненного объекта кисти, я полагаю. Может стать сложной задачей, но такова судьба настоящего хакера, не так ли?