★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(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