【发布时间】:2019-10-04 15:17:31
【问题描述】:
我有一个可以在上面画画的视图。我保存最小和最大 x 和 y 触摸位置来指定绘制的矩形。我通过添加一个视图作为框架来测试矩形是否正确,并且一切正常。但是当我将图像裁剪为矩形时,它会给我一些其他的部分。
guard let cg_img = self.asImage().cgImage?.cropping(to: CGRect(x: minX, y: minY, width: maxX-minX, height: maxY-minY)) else { return }
我的 asImage 方法:
extension UIView {
func asImage() -> UIImage {
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image { rendererContext in
layer.render(in: rendererContext.cgContext)
}
}
}
我可能错过了一些关于裁剪方法的内容,但我没有发现任何有用的东西。
【问题讨论】:
-
试试
extension UIView { var image: UIImage { let imageRendererFormat = UIGraphicsImageRendererFormat() imageRendererFormat.scale = UIScreen.main.scale return UIGraphicsImageRenderer(bounds: bounds, format: imageRendererFormat).image { layer.render(in: $0.cgContext) } } }