Создание объединения двух безьеров
У меня есть два пути безье, которые я хотел бы объединить, чтобы сформировать союз, чтобы я мог погладить всю внешнюю форму. В моем случае это речевой пузырь с хвостом, поэтому, хотя это не сложная форма, было бы довольно сложно создать его с помощью одного единственного пути.
Как представляется, не существует Core Graphics API для создания объединений. Я не прав?
Если я не знаю, кто-нибудь знает библиотеку, которая может справиться с этим? Я ищу GitHub безрезультатно.
Ответы
Ответ 1
UIBezierPath делает это, если вы работаете с закрытыми формами.
UIBezierPath *firstPath = [UIBezierPath bezierPath];
// build your path
UIBezierPath *secondPath = [UIBezierPath bezierPath];
// build your path
[firstPath appendPath:secondPath];
Ответ 2
В Swift 3: Beizerpath может быть объединен: -
override func draw(_ rect: CGRect) {
super.draw(rect)
UIColor.black.setStroke()
UIColor.red.setFill()
let currentContext = UIGraphicsGetCurrentContext()
currentContext?.saveGState()
let path = drawTopView()
path.lineWidth = 5.0
path.fill()
path.stroke()
let middlepath = drawMiddleView()
middlepath.lineWidth = 2.0
middlepath.fill()
middlepath.stroke()
path.append(middlepath)
currentContext?.restoreGState()
}