Я реализую компонент выбора цвета, как описано в этой оригинальной статье .
Как видите, у меня есть отсортированные основы:
Однако одним из требований является возможность вращения цветового круга на произвольную величину. Думая, что это было бы легко, я немного арифметически определил местоположение мыши -> код значения цвета и следующий код для бита, который фактически рисует колесо:
newGraphics.TranslateTransform((float)this.Radius, (float)this.Radius);
newGraphics.RotateTransform((float)this.offset);
newGraphics.TranslateTransform((float)this.Radius * -1, (float)this.Radius * -1);
К сожалению, вращение растрового изображения таким образом на самом деле приводит к следующему:
Обратите внимание на артефакты, которые появляются по обе стороны от центра.
Я использую неправильный подход? Или есть способ избавиться от этих неприятных разрывов?