CGPath маскируется от CGPoints - PullRequest
4 голосов
/ 20 февраля 2011

Я пытаюсь построить это: enter image description here

Где белый фон на самом деле прозрачен. Я знаю, как обрезать CGPath в заданной области, но, похоже, все наоборот, поскольку мне нужно вычесть областей из заполненного CGPath.

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

Ответы [ 2 ]

7 голосов
/ 20 февраля 2011

Вот что я бы сделал:

1) Нарисуйте общую линию

2) CGContextSetBlendMode(context, kCGBlendModeClear), чтобы "очистить контекст" при рисовании.

3)Нарисуйте большие круги

4) CGContextSetBlendMode(context, kCGBlendModeNormal), чтобы вернуться к обычному рисунку

5) Нарисуйте свои маленькие круги.

1 голос
/ 20 февраля 2011

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

...