CGContext.AddCurveToPoint 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 컨트롤 매개 변수를 사용하여 현재 지점에 입방형 베지어 곡선을 추가합니다.
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();
}
}