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();
}
}