Непрозрачность исчезает с прозрачного на полностью непрозрачный на пути WPF? - PullRequest
1 голос
/ 23 декабря 2010

Мой путь сгенерирован программно.Я хочу, чтобы начало пути было полностью прозрачным, а конец - полностью непрозрачным, а все в середине интерполировалось между двумя непрозрачностями.Таким образом, путь должен исчезнуть от полностью прозрачного до полностью непрозрачного ВСЕГО пути.Как я могу добиться этого наиболее эффективным способом?

До сих пор я получал приближение в порядке, установив маску непрозрачности пути:

<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
    <GradientStop Color="#FF000000" Offset="1"/>
    <GradientStop Color="#00000000" Offset="0"/>
</LinearGradientBrush>

Это следует заобщая тенденция пути, так как он делает градиент вдоль диагонали, соединяющей начальную и конечную точки (я думаю).Пока что все выглядит хорошо в моем приложении, но мне бы очень хотелось более точный подход.

1 Ответ

1 голос
/ 23 декабря 2010

Как отмечают комментарии от Meleak, предложенная выше кисть градиента, вероятно, лучшая, которую вы можете получить с самой платформой. Однако, поскольку вы генерируете путь программно, а не добавляете все свои сегменты в один путь, вы можете создать несколько путей, в которых постепенно снижается непрозрачность.

Однако, если у вас мало сегментов, это может привести к «ступенчатому» изменению непрозрачности. Другая возможность - создать одну геометрию, а затем разделить ее на столько отдельных путей, сколько вам нужно, используя метод PathGeometry.GetPointAtFractionLength, чтобы определить начальную и конечную точки каждого фрагмента

.

http://msdn.microsoft.com/en-us/library/system.windows.media.pathgeometry.getpointatfractionlength.aspx

НТН

...