Class CubicBezierLineSegment
- Namespace
- SixLabors.ImageSharp.Drawing
- Assembly
- SixLabors.ImageSharp.Drawing.dll
Represents a line segment that contains a lists of control points that will be rendered as a cubic bezier curve
public sealed class CubicBezierLineSegment : ILineSegment
- Inheritance
-
CubicBezierLineSegment
- Implements
- Inherited Members
Constructors
CubicBezierLineSegment(PointF, PointF, PointF, PointF)
Initializes a new instance of the CubicBezierLineSegment class.
public CubicBezierLineSegment(PointF start, PointF controlPoint1, PointF controlPoint2, PointF end)
Parameters
startPointFThe start.
controlPoint1PointFThe control point1.
controlPoint2PointFThe control point2.
endPointFThe end.
CubicBezierLineSegment(PointF, PointF, PointF, PointF, params PointF[])
Initializes a new instance of the CubicBezierLineSegment class.
public CubicBezierLineSegment(PointF start, PointF controlPoint1, PointF controlPoint2, PointF end, params PointF[] additionalPoints)
Parameters
startPointFThe start.
controlPoint1PointFThe control point1.
controlPoint2PointFThe control point2.
endPointFThe end.
additionalPointsPointF[]The additional points.
CubicBezierLineSegment(PointF[])
Initializes a new instance of the CubicBezierLineSegment class.
public CubicBezierLineSegment(PointF[] points)
Parameters
pointsPointF[]The points.
Properties
Bounds
Gets the bounds of the linearized segment output.
public RectangleF Bounds { get; }
Property Value
ControlPoints
Gets the control points.
public IReadOnlyList<PointF> ControlPoints { get; }
Property Value
EndPoint
Gets the end point.
public PointF EndPoint { get; }
Property Value
- PointF
The end point.
StartPoint
Gets the start point.
public PointF StartPoint { get; }
Property Value
Methods
CopyTo(Span<PointF>, bool, Vector2)
Writes the segment's linearized points to destination, baked at the supplied
device-space scale.
public void CopyTo(Span<PointF> destination, bool skipFirstPoint, Vector2 scale)
Parameters
destinationSpan<PointF>The destination point span.
skipFirstPointboolWhether to skip the first emitted point.
scaleVector2The X/Y scale at which curves are flattened. Pass One for local-space output.
GetControlPoints()
Gets the control points of this curve.
public ReadOnlyMemory<PointF> GetControlPoints()
Returns
- ReadOnlyMemory<PointF>
The control points of this curve.
LinearVertexCount(Vector2)
Returns the number of linear vertices emitted by this segment when flattened under the supplied
device-space scale.
public int LinearVertexCount(Vector2 scale)
Parameters
Returns
- int
The number of linear vertices this segment emits.
Transform(Matrix4x4)
Transforms this line segment using the specified matrix.
public CubicBezierLineSegment Transform(Matrix4x4 matrix)
Parameters
matrixMatrix4x4The matrix.
Returns
- CubicBezierLineSegment
A line segment with the matrix applied to it.