2016-07-13 6 views
-2

私はベジェのパスと一緒に作業しており、それと簡単な形をしています。 Bezierパスを使用して星型を作成するプロセスは何ですか?私は、これはあなたが探しているものだと思いますiosでベジェパスを使って星型を作るには?

+0

例をhttps://calayer.com/core-animation/2016/05/22/cashapelayer-in-depth.html#path – iwasrobbed

答えて

2

は、このパスを試してみてください:

//// 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]; 

あなたはiOSとOSX用の図形を描画するためにPaint Codeアプリを使用することができます。 これは使いやすく非常に役立つアプリです。

ハッピーコーディング。

+0

でご覧ください。ありがとうございます。それは働いている。 –

+0

少し大きくしてください。 –

+0

@AtplMohali、更新されたコードを取得してください。 –

1

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 
} 

この機能は、あなたがあなたの星にしたいどのように多くのポイントを決めましょう。..

detailed descriptionより、このlinkをチェック。

希望の方はこちら:)私は任意のクエリを知ってみましょう.. !!!

関連する問題