共享带有子视图的PKCanvasView作为图像

问题描述 投票:0回答:1

我有一个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
}
ios swift uiimageview uiimage
1个回答
0
投票

您将需要创建一个新的图形上下文,将图像绘制到其中,然后在其顶部绘制图形。您的代码应如下所示:

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)
}
© www.soinside.com 2019 - 2024. All rights reserved.