Как нарисовать переменную ширину UIBezierPath? - PullRequest
4 голосов
/ 01 октября 2011

Мне интересно, как мне следует рисовать uibezierpath, где ширина хода достигает максимума в центре дуги. Вот пример того, что я имею в виду:

Curve

Либо я должен пройти каждую точку при рисовании и соответственно установить ширину обводки, либо есть более простой способ. Кто-нибудь может указать мне правильное направление?

Спасибо

Ответы [ 2 ]

6 голосов
/ 01 октября 2011

Вы можете просто нарисовать два внешних пути без обводки, соединить их, а затем заполнить пространство между ними.

0 голосов
/ 04 марта 2012

Еще один способ попробовать это, если вам интересно:

Я закончил тем, что заставил это работать, создав цикл для рисования пары сотен отрезков и изменив ширину линии во время цикла рисования.

Для настройки ширины линии я использовал следующую функцию: MAX_WIDTH * sinf (M_PI * (i / NUMBER_OF_SEGMENTS)

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

...