2012-06-14 3 views
1

Я рисую пользовательскую форму, используя CGPathCreateMutable() и CGPathAddArcToPoint. Как и ожидалось, когда я закрываю и заполняю свой путь, я получаю форму, которую только что рисовал. Однако то, что я хочу сделать, это заполнить обратный путь, который я только что нарисовал. То есть, если я нарисовал круговой путь, я хочу заполнить все, кроме этого круга, который я только что нарисовал.iOS Core Graphics заполняет обратный путь?

Есть ли способ сделать обратную заливку? Или другое решение было бы, если бы я мог заполнить 2 пути, если это возможно? Таким образом, я могу создать прямой путь моего ограничивающего фрейма, а затем заполнить его и мой собственный путь.

+1

Похож на обман [UIBezierPath Subtract Path] (http://stackoverflow.com/questions/8859285/uibezierpath-subtract-path) – user1118321

ответ

1

Если вы рисуете дорожки и заполняете их с помощью заливки Even Odd (EO), это должно получить то, что вы хотите (заполните внутреннюю часть).

По умолчанию заполнить на OSX (и iPhone) не равен нулю обмотки (NZW) заполнить
Вы могли бы получить тот же эффект, используя обмотки тоже не равен нулю, путем изменения обмотки различных частей соответственно (параметр «по часовой стрелке»), но использование четного нечетного будет намного проще.

Смежные вопросы