Как сделать градиент заливки для многоугольника прямым? - PullRequest
2 голосов
/ 09 ноября 2011

В настоящее время я пытаюсь нарисовать многоугольник, а затем заполнить его градиентом.Проблема в том, что градиент использует верхнюю часть фигуры, так что она наклонена.Вот некоторый xaml, который создаст то, о чем я говорю.

   <Polygon Points="0,20 0,20 100,0 100,20">
        <Polygon.Fill>
            <LinearGradientBrush EndPoint="1,0" StartPoint="0,1">
                <GradientStop Color="White" Offset="0" />
                <GradientStop Color="White" Offset="0.5" />
                <GradientStop Color="Black" Offset="0.5" />
            </LinearGradientBrush>
        </Polygon.Fill>
    </Polygon>

Этот код является хорошим примером, потому что он разделит цвета на отметке 50%: белый слева и черный справа.Вы можете видеть, что линия среза наклонена к вершине треугольника.Вот картинка тоже, если вы не можете попробовать код.

Triangle

Есть ли способ сделать так, чтобы он был вертикальным срезом, а не наклонным?

1 Ответ

3 голосов
/ 09 ноября 2011

Вам нужно будет изменить начальную и конечную точки:

<... StartPoint="0,0.5" EndPoint="1,0.5" >

Выше приведено «начало в середине слева, конец в середине вправо».

Сейчас ваши точки говорят«начинаются в верхнем правом углу и заканчиваются в нижнем левом».

Следовательно, мы, вероятно, должны поменять его местами, например:ваши требования, проверьте здесь .

...