---
title: PKDrawing
framework: pencilkit
role: symbol
role_heading: Structure
path: pencilkit/pkdrawing-swift.struct
---

# PKDrawing

A structure representing the drawing information captured by a canvas view.

## Declaration

```swift
struct PKDrawing
```

## Mentioned in

Supporting backward compatibility for ink types Recognizing handwriting and converting it to text

## Overview

Overview A PKDrawing object stores the user-drawn content from a PKCanvasView object. You use drawing objects to store the data associated with your user’s drawings. You can save this data with the rest of your app’s content, and you can use that saved data to create a new drawing object later. You can also generate an image based on the drawn content that you can copy to the pasteboard, save to disk, or share.

## Topics

### Creating a drawing object

- [init(strokes:)](pencilkit/pkdrawing-swift.struct/init(strokes:).md)
- [init(data:)](pencilkit/pkdrawing-swift.struct/init(data:).md)
- [init()](pencilkit/pkdrawing-swift.struct/init().md)

### Getting the canvas bounds

- [bounds](pencilkit/pkdrawing-swift.struct/bounds.md)

### Generating an image

- [image(from:scale:)](pencilkit/pkdrawing-swift.struct/image(from:scale:)-220d0.md)
- [image(from:scale:)](pencilkit/pkdrawing-swift.struct/image(from:scale:)-6p3zc.md)

### Getting the drawing data

- [strokes](pencilkit/pkdrawing-swift.struct/strokes.md)
- [dataRepresentation()](pencilkit/pkdrawing-swift.struct/datarepresentation().md)
- [PKAppleDrawingTypeIdentifier](pencilkit/pkappledrawingtypeidentifier.md)

### Modifying the drawing

- [transform(using:)](pencilkit/pkdrawing-swift.struct/transform(using:).md)
- [transformed(using:)](pencilkit/pkdrawing-swift.struct/transformed(using:).md)
- [append(_:)](pencilkit/pkdrawing-swift.struct/append(_:).md)
- [appending(_:)](pencilkit/pkdrawing-swift.struct/appending(_:).md)

### Supporting backward compatibility

- [requiredContentVersion](pencilkit/pkdrawing-swift.struct/requiredcontentversion.md)

### Using reference types

- [PKDrawingReference](pencilkit/pkdrawingreference.md)

### Instance Methods

- [draw(in:frame:from:darkUserInterfaceStyle:)](pencilkit/pkdrawing-swift.struct/draw(in:frame:from:darkuserinterfacestyle:).md)
- [erasePath(_:mask:transform:)](pencilkit/pkdrawing-swift.struct/erasepath(_:mask:transform:)-2b2u3.md)
- [erasePath(_:mask:transform:)](pencilkit/pkdrawing-swift.struct/erasepath(_:mask:transform:)-shn.md)
- [erasingPath(_:mask:transform:)](pencilkit/pkdrawing-swift.struct/erasingpath(_:mask:transform:)-2txi7.md)
- [erasingPath(_:mask:transform:)](pencilkit/pkdrawing-swift.struct/erasingpath(_:mask:transform:)-9dpi9.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.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)
- [PKStroke](pencilkit/pkstroke-swift.struct.md)
- [PKStrokePath](pencilkit/pkstrokepath-swift.struct.md)
- [PKStrokePoint](pencilkit/pkstrokepoint-swift.struct.md)
- [PKInk](pencilkit/pkink-swift.struct.md)
