我有一个PKCanvasView
,并且具有UIImageView
的子视图。
我想将视图共享为UIImage
。这将是UIImageView
及其上方的PKCanvasView.drawing
。
这是我获取绘图部分的方式。我只是不确定如何获得它UIImageView
。
private func image(from canvas: PKCanvasView) -> UIImage {
let drawing = canvas.drawing
let visibleRect = canvas.bounds
let image = drawing.image(from: visibleRect, scale: UIScreen.main.scale)
return image
}
您将需要创建一个新的图形上下文,将图像绘制到其中,然后在其顶部绘制图形。您的代码应如下所示:
let format = UIGraphicsImageRendererFormat.default()
format.opaque = false
let image = UIGraphicsImageRenderer(size: imageView.frame.size, format: format).image { context in
imageView.image?.draw(at: .zero)
canvas.drawing.image(from: imageView.frame, scale: UIScreen.main.scale).draw(at: .zero)
}