---
title: PKStrokePath
framework: pencilkit
role: symbol
role_heading: Structure
path: pencilkit/pkstrokepath-swift.struct
---

# PKStrokePath

A structure that captures the components of a stroke and provides methods to find and interpolate points along the stroke’s path.

## Declaration

```swift
struct PKStrokePath
```

## Topics

### Creating a new stroke path

- [init()](pencilkit/pkstrokepath-swift.struct/init().md)
- [init(controlPoints:creationDate:)](pencilkit/pkstrokepath-swift.struct/init(controlpoints:creationdate:).md)
- [init(controlPoints:creationDate:id:)](pencilkit/pkstrokepath-swift.struct/init(controlpoints:creationdate:id:).md)
- [init(bezierPath:creationDate:pointProvider:)](pencilkit/pkstrokepath-swift.struct/init(bezierpath:creationdate:pointprovider:).md)
- [PKStrokePath.ConvertedBezierPoint](pencilkit/pkstrokepath-swift.struct/convertedbezierpoint.md)

### Identifying the path

- [id](pencilkit/pkstrokepath-swift.struct/id.md)

### Converting to and from Bézier paths

- [bezierRepresentation](pencilkit/pkstrokepath-swift.struct/bezierrepresentation.md)

### Getting the stroke path properties

- [creationDate](pencilkit/pkstrokepath-swift.struct/creationdate.md)

### Accessing and interpolating points

- [interpolatedPoints(in:by:)](pencilkit/pkstrokepath-swift.struct/interpolatedpoints(in:by:).md)
- [interpolatedLocation(at:)](pencilkit/pkstrokepath-swift.struct/interpolatedlocation(at:).md)
- [interpolatedPoint(at:)](pencilkit/pkstrokepath-swift.struct/interpolatedpoint(at:).md)
- [parametricValue(_:offsetBy:)](pencilkit/pkstrokepath-swift.struct/parametricvalue(_:offsetby:).md)

### Supporting types

- [PKStrokePath.InterpolatedSlice](pencilkit/pkstrokepath-swift.struct/interpolatedslice.md)

### Supporting protocol requirements

- [Protocol implementations](pencilkit/pkstrokepath-protocol-implementations.md)

### Using reference types

- [PKStrokePathReference](pencilkit/pkstrokepathreference.md)

### Subscripts

- [subscript(_:)](pencilkit/pkstrokepath-swift.struct/subscript(_:).md)

### Default Implementations

- [Identifiable Implementations](pencilkit/pkstrokepath-swift.struct/identifiable-implementations.md)

## Relationships

### Conforms To

- [BidirectionalCollection](swift/bidirectionalcollection.md)
- [Collection](swift/collection.md)
- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Identifiable](swift/identifiable.md)
- [RandomAccessCollection](swift/randomaccesscollection.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [Sequence](swift/sequence.md)

## See Also

### Canvas

- [Drawing with PencilKit](pencilkit/drawing-with-pencilkit.md)
- [Customizing Scribble with Interactions](pencilkit/customizing-scribble-with-interactions.md)
- [Inspecting, Modifying, and Constructing PencilKit Drawings](pencilkit/inspecting-modifying-and-constructing-pencilkit-drawings.md)
- [Controlling stroke rendering for animation and editing](pencilkit/controlling-stroke-rendering-for-animation-and-editing.md)
- [PKCanvasView](pencilkit/pkcanvasview.md)
- [PKDrawing](pencilkit/pkdrawing-swift.struct.md)
- [PKStroke](pencilkit/pkstroke-swift.struct.md)
- [PKStrokePoint](pencilkit/pkstrokepoint-swift.struct.md)
- [PKInk](pencilkit/pkink-swift.struct.md)
