I started to play with WPF and wanted to draw color wheel on a form.
At first I tryed to use LinearGradientBrush on ArcSegment like this:
<Path StrokeThickness="35" Height="150" Width="150">
    <Path.Stroke>
        <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
            <GradientStop Color="Red" Offset="0.15" />
            <GradientStop Color="Orange" Offset="0.2" />
            <GradientStop Color="Yellow" Offset="0.35" />
            <GradientStop Color="Green" Offset="0.5" />
            <GradientStop Color="Blue" Offset="0.65" />
            <GradientStop Color="Indigo" Offset="0.75" />
            <GradientStop Color="Violet" Offset="0.9" />
        </LinearGradientBrush>
    </Path.Stroke>
    <Path.Data>
        <PathGeometry >
            <PathFigure IsClosed="True" StartPoint="25,70">
                <ArcSegment Point="25,71" IsLargeArc="True"
                    Size="50,50" SweepDirection="Clockwise" />
            </PathFigure>
        </PathGeometry>
    </Path.Data>
</Path>
Unsuccessfully, because gradient was still horizontal.
Another idea is what I have to bend line somehow after applying the gradient. But I can't find apropriate transform.
If there is no standard transform is it possible to make custom transform? Or should I draw color wheel by pixels?
Any ideas, please.
 
                        
This library has pixel shaders that draw color wheels
Sample xaml:
Note that the ellipse must have a brush set on
Fillfor this to work, can be any colour.