0

この線を描くために自分の視点でこれを描きたいのですが、基本的な線を描くために必要なものはすべて揃っていますが、描くのが苦手です。実際にこれを試みましたが、正しく機能させることができません。 代替テキスト

4

2 に答える 2

2

これはベジェ曲線ですか?2つのコントロールポイントがどこにあるかがわかっている場合は、

CGContextMoveToPoint(context, x, y);
CGContextAddCurveToPoint(context, ...); // Cubic Bézier curve

また

CGContextMoveToPoint(context, x, y);
CGContextAddQuadCurveToPoint(context, ...); // Quadratic Bézier curve

曲線を挿入するには、

CGContextStrokePath(context);

曲線をストロークします。

于 2010-03-02T11:07:04.793 に答える
2

次のコードは、currentBoundsが領域内で描画する境界矩形であると仮定して、説明したような正弦曲線を描画する必要があります。

CGContextBeginPath(context);
CGContextMoveToPoint(context, 0.0f, CGRectGetMidY(currentBounds));
CGContextAddCurveToPoint(context, currentBounds.size.width / 5.0f, CGRectGetMidY(currentBounds) - currentBounds.size.width / 5.0f, CGRectGetMidX(currentBounds) - currentBounds.size.width / 5.0f, CGRectGetMidY(currentBounds) - currentBounds.size.width / 5.0f, CGRectGetMidX(currentBounds), CGRectGetMidY(currentBounds));
CGContextAddCurveToPoint(context, CGRectGetMidX(currentBounds) + currentBounds.size.width / 5.0f, CGRectGetMidY(currentBounds) + currentBounds.size.width / 5.0f, currentBounds.size.width - currentBounds.size.width / 5.0f, CGRectGetMidY(currentBounds) + currentBounds.size.width / 5.0f, currentBounds.size.width, CGRectGetMidY(currentBounds));
CGContextClosePath(context);
CGContextStrokePath(context);
于 2010-03-03T03:08:36.993 に答える