Ich arbeite mit Bézier Weg und machen damit einfache Formen. Was ist der Prozess, um eine Sternform mit Bezier-Pfaden zu erstellen?Wie man Sternform mit Bezier Pfad in ios machen?
Antwort
diesen Weg versuchen:
//// Star Drawing
UIBezierPath* starPath = [UIBezierPath bezierPath];
[starPath moveToPoint: CGPointMake(45.25, 0)];
[starPath addLineToPoint: CGPointMake(61.13, 23)];
[starPath addLineToPoint: CGPointMake(88.29, 30.75)];
[starPath addLineToPoint: CGPointMake(70.95, 52.71)];
[starPath addLineToPoint: CGPointMake(71.85, 80.5)];
[starPath addLineToPoint: CGPointMake(45.25, 71.07)];
[starPath addLineToPoint: CGPointMake(18.65, 80.5)];
[starPath addLineToPoint: CGPointMake(19.55, 52.71)];
[starPath addLineToPoint: CGPointMake(2.21, 30.75)];
[starPath addLineToPoint: CGPointMake(29.37, 23)];
[starPath closePath];
[UIColor.redColor setStroke];
starPath.lineWidth = 1;
[starPath stroke];
Sie Paint Code App verwenden können Form für iOS und OS X zu zeichnen. Dies ist einfach zu bedienen und sehr hilfreiche App.
Glückliche Kodierung.
Danke für Ihre Hilfe. Es funktioniert. –
Kannst du es bitte ein bisschen groß machen? –
@AtplMohali, Bitte aktualisierten Code nehmen. –
Ich denke, das ist das, was Sie suchen:
func starPathInRect(rect: CGRect) -> UIBezierPath {
let path = UIBezierPath()
let starExtrusion:CGFloat = 30.0
let center = CGPointMake(rect.width/2.0, rect.height/2.0)
let pointsOnStar = 5 + arc4random() % 10
var angle:CGFloat = -CGFloat(M_PI/2.0)
let angleIncrement = CGFloat(M_PI * 2.0/Double(pointsOnStar))
let radius = rect.width/2.0
var firstPoint = true
for i in 1...pointsOnStar {
let point = pointFrom(angle, radius: radius, offset: center)
let nextPoint = pointFrom(angle + angleIncrement, radius: radius, offset: center)
let midPoint = pointFrom(angle + angleIncrement/2.0, radius: starExtrusion, offset: center)
if firstPoint {
firstPoint = false
path.moveToPoint(point)
}
path.addLineToPoint(midPoint)
path.addLineToPoint(nextPoint)
angle += angleIncrement
}
path.closePath()
return path
}
Über diese Funktion können Sie entscheiden, wie viele Punkte Sie in Ihren Stars wollen ..
prüfen diese link für mehr detailed description
.
Hoffe, dass dies hilft. :) Lass mich für jede Anfrage wissen .. !!!
Siehe Beispiel auf https://calayer.com/core-animation/2016/05/22/cashapelayer-in-depth.html#path – iwasrobbed