【发布时间】:2019-07-02 13:13:49
【问题描述】:
我在 UIScrollView 中有一个 UIImageView,可以在其中放大和缩小。现在,在用户选择了要放大的特定内容后,我想裁剪滚动视图上存在的那部分图像,并以 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 分辨率。
此逻辑只是对屏幕内容的基本捕获。
我知道可以有更好的方法,但我无法找到解决方案。 非常感谢任何帮助。
【问题讨论】:
标签: ios swift uiscrollview uiimageview uiimage