То, что вы ищете, это Градиентная кисть . К сожалению, это еще не доступно в WPF (но это в GDI +). Возможно, в будущей версии ...
У меня есть идея, как получить приблизительное цветовое колесо.
Высокоуровневое описание этого будет использовать линейные градиенты (прямоугольники), которые вращаются и переводятся, чтобы сделать правильный многоугольник, толщина которого намного шире, чем желаемая ширина кольца. Затем вы «вырезаете» из него форму кольца и используете его в качестве цветового круга.
Цветовое колесо имеет несколько основных цветов (красный, зеленый, синий, желтый и т. Д.). Сначала вам нужно определить степень измерения по произвольной базовой линии. Например, красный - в 0 радианах, синий - в пи радианах и т. Д. Вы также определяете внутренний и внешний радиус кольца. Используя trig, вы обходите прямоугольник рисования кольца с линейным градиентом от цвета, с которого вы начинаете, до следующего смежного цвета. Ширина прямоугольника должна быть больше ширины кольца (вы поймете, почему позже), и необходимо повернуть прямоугольник, чтобы он касался окружности в его средней точке.
Как только вы закончите, у вас будет «цветной многоугольник» (термин, который я только что придумал). Вы тогда извлекаете форму кольца из этого многоугольника, как резак печенья делает с тестом. Там будет более чем один способ сделать это. Простое рисование заполненного круга от центра к внутреннему радиусу с фоном избавит от средней части. Внешняя часть будет сложнее. Я не знаю, сможете ли вы сделать это в WPF, но вам нужно создать маску, представляющую собой круг от центра к внешнему краю кольца. Это был бы белый кружок на черном фоне. Затем вы «И» с изображением, чтобы избавиться от внешней части многоугольника.
Не идеально, но это будет выглядеть разумно, я подозреваю. Много триг!