Jak narysować „miękką” linię w WPF (przypuszczalnie używając pędzla LinearGradientBrush)?

Próbuję narysować linię o miękkich krawędziach, niezależnie od nachylenia.

Oto kod, który mam do tej pory:

<Line   HorizontalAlignment="Stretch" VerticalAlignment="Center"
        Stretch="Uniform" StrokeThickness="5" X1="0" Y1="0" X2="1" Y2="0">
    <Shape.Stroke>
        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="Transparent" Offset="0" />
            <GradientStop Color="Green" Offset="0.5" />
            <GradientStop Color="Transparent" Offset="1" />
        </LinearGradientBrush>
    </Shape.Stroke>
</Line>

Ma to dla mnie sens, ponieważ linia jest pozioma, a gradient liniowy jest pionowy, a krawędzie są przezroczyste, a środek linii jest zielony.

Wynik jest przyjemny:
http://img15.imageshack.us/img15/4108/horizontalsoftline.png
Powiększono, aby zobaczyć gradient:
http://img225.imageshack.us/img225/5027/horizontalsoftlinezoomeb.png

Jednak, gdy linia nie jest już pozioma, gradient jest obliczany na podstawie prostokąta ograniczającego linię, a nie na geometrii samej linii. Wynikiem jest nachylona linia, która jest cieniowana w pionie, zamiast gradientu prostopadłego do linii:
http://img183.imageshack.us/img183/7250/slantedsoftline.png

Czy ktoś wie, jak WPF obsługuje miękkie krawędzie? Nie mogę znaleźć niczego w Google ani MSDN i wiem, że istnieje sposób, aby to zrobić w jakiś sposób ...

questionAnswers(4)

yourAnswerToTheQuestion