다음을 통해 공유


CGContext.AddCurveToPoint 메서드

정의

지정된 컨트롤 매개 변수를 사용하여 현재 지점에 입방형 베지어 곡선을 추가합니다.

public void AddCurveToPoint (nfloat cp1x, nfloat cp1y, nfloat cp2x, nfloat cp2y, nfloat x, nfloat y);
member this.AddCurveToPoint : nfloat * nfloat * nfloat * nfloat * nfloat * nfloat -> unit

매개 변수

cp1x
nfloat

첫 번째 제어점의 x 값입니다.

cp1y
nfloat

첫 번째 제어점의 y 값입니다.

cp2x
nfloat

두 번째 제어점의 x 값입니다.

cp2y
nfloat

두 번째 제어점의 y 값입니다.

x
nfloat

베지어 곡선이 끝나야 하는 x 값입니다.

y
nfloat

베지어 곡선이 끝나야 하는 y 값입니다.

설명

모든 좌표는 사용자 공간 좌표에 있습니다.

public override void Draw (RectangleF rect)
{
	base.Draw (rect);
	using (var ctxt = UIGraphics.GetCurrentContext ()) {
		var startingPoint = new PointF (100, 100);
		var controlPoint1 = new PointF (20, 100);
		var controlPoint2 = new PointF (4, 110);
		var endingPoint = new PointF (120, 120);

		ctxt.SetStrokeColor (UIColor.Red.CGColor);
		ctxt.MoveTo (startingPoint.X, startingPoint.Y);
		ctxt.AddCurveToPoint (controlPoint1.X, controlPoint1.Y, controlPoint2.X, controlPoint2.Y, endingPoint.X, endingPoint.Y);
		ctxt.StrokePath ();

		//Illustrate parameters
		ctxt.SetStrokeColor (UIColor.Black.CGColor);
		var sz = new SizeF (2, 2);
		Func<PointF,PointF> offset = (PointF pt) => new PointF(pt.X - 1, pt.Y - 1);
		ctxt.AddEllipseInRect (new RectangleF (offset(startingPoint),sz));
		ctxt.AddEllipseInRect (new RectangleF (offset(controlPoint1), sz));
		ctxt.AddEllipseInRect (new RectangleF (offset(controlPoint2), sz));
		ctxt.AddEllipseInRect (new RectangleF (offset(endingPoint), sz));
		ctxt.StrokePath();
	}
}

적용 대상