Я ищу какой-то алгоритм или какой-то способ или даже некоторые ссылки, которые могут позволить мне генерировать набор прямоугольников из CGPathRef.
Рассмотрим следующие случаи:
Добавьте прямоугольник в путь
CGMutablePathRef pathref = CGPathCreateMutable(); CGPathAddRect(pathref, NULL, CGRectMake(10, 10, 200, 300)); CGPathCloseSubpath(pathref);
В приведенном выше случае у нас есть только один прямоугольник, хранящийся в пути, поэтому, когда мы его заполняем, рисуется только один прямоугольник, поэтому алгоритм возвращает 1 прямоугольник.
Добавление круга/эллипса к контуру
CGMutablePathRef pathref = CGPathCreateMutable(); CGPathAddEllipseInRect(pathref, NULL, CGRectMake(10, 10, 500, 500)); CGPathCloseSubpath(pathref);
В этом случае у нас есть круг, хранящийся в пути, поэтому, когда мы его рисуем, мы можем представить, что множество ретаблиц заполнено, поэтому алгоритм возвращает n прямоугольников.
Немного более сложный путь
CGMutablePathRef pathref = CGPathCreateMutable();
CGPathAddRect(pathref, NULL, CGRectMake(10, 10, 200, 300));
CGPathAddEllipseInRect(pathref, NULL, CGRectMake(10, 10, 500, 500));
CGPathCloseSubpath(pathref);
и так далее.
В предыдущем вопросе меня в первую очередь интересует начинка, возможно позже я буду работать и с обводкой. Надеюсь, аналогичный подход, как и при заполнении, должен работать.
Может ли кто-нибудь подсказать мне, как этого можно достичь?