我在UIScrollView中有一个UIImageView,可以在其中放大和缩小。现在,在用户选择了要放大的特定内容之后,我想裁剪scrollview上显示的图像部分,并将其转换为UIImage上的表单。
extension UIScrollView {
var snapshotVisibleArea: UIImage? {
UIGraphicsBeginImageContext(bounds.size)
UIGraphicsGetCurrentContext()?.translateBy(x: -contentOffset.x, y: -contentOffset.y)
layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
但是,当我实现这一点时,图像的质量会大大降低。即使我使用4K图像,最终产品的分辨率看起来也是360p。
此逻辑只是屏幕内容的基本捕获。
我知道有更好的办法,但我无法找到解决办法。
非常感谢您的帮助。