[iPad]PencilKit教程5、PKDrawing:由画布视图捕获的绘图信息的结构

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(let_us_code)
➤博主域名:https://www.zengqiang.org
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/14088785.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

PencilKit(Swift)示例代码:点击下载

1 class PKCanvasView//捕捉Apple Pencil输入并在iOS应用程序中显示渲染结果的视图。
2 struct PKDrawing//表示画布视图捕获的绘图信息的结构。
3 struct PKStroke//表示在画布上绘制的笔划的路径、边界和其他属性的结构。
4 struct PKStrokePath//一种结构,它捕获笔划的组成部分,并提供沿笔划路径查找和插值点的方法。
5 struct PKStrokePoint//表示沿笔划路径的特定点的属性的结构。
6 struct PKInk//一种表示墨水的结构,它指定墨水的类型、颜色和宽度。

定义

struct PKDrawing

概览
PKDrawing对象存储从所述用户绘制的内容对象。您可以使用工程图对象来存储与用户工程图关联的数据。您可以将这些数据与应用程序的其余内容一起保存,以后可以使用保存的数据来创建新的图形对象。您还可以基于绘制的内容生成图像,然后可以将其复制到粘贴板,保存到磁盘或共享。PKCanvasView

创建图形对象

init<S>(strokes: S)

创建一个图形对象,并使用用户提供的一系列笔触填充该对象。

init(data: Data)

创建一个图形对象,并使用先前绘制的内容填充它。

init()

创建一个空的图形对象。

init(from: Decoder)

创建一个图形对象,并使用存储在磁盘上的先前绘制的内容填充它。
获取画布边界

var bounds: CGRect

考虑到内容的线宽,用于表示内容范围的最小矩形。
生成图片

func image(from: CGRect, scale: CGFloat) -> UIImage

返回包含图形指定部分的图像对象。

func image(from: CGRect, scale: CGFloat) -> NSImage

返回包含图形指定部分的图像对象。
获取工程图数据

var strokes: [PKStroke]

组成图形的笔触数组。

func dataRepresentation() -> Data

返回渲染内容的原始数据表示。

let PKAppleDrawingTypeIdentifier: CFString

与图形对象关联的数据的统一类型标识符。
修改工程图

func transform(using: CGAffineTransform)

将指定的变换应用于此图形的内容。

func transformed(using: CGAffineTransform) -> PKDrawing

应用指定的变换并返回一个新图形。

func append(PKDrawing)

将指定图形对象的内容追加到您提供的现有图形对象上。

func appending(PKDrawing) -> PKDrawing

返回通过将当前图形附加到您提供的另一个图形而创建的新图形。
比较图形对象

static func != (PKDrawing, PKDrawing) -> Bool

返回一个布尔值,该值指示两个绘图对象是否不相等。

static func == (PKDrawing, PKDrawing) -> Bool

返回一个布尔值,该值指示两个图形对象是否等效。
编码绘图对象

func encode(to: Encoder)

关系
符合

Decodable
Encodable
Equatable
原文地址:https://www.cnblogs.com/strengthen/p/14088785.html