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