У меня есть UIImageView в UIScrollView, в котором можно увеличивать и уменьшать масштаб.Теперь, после того как пользователь выбрал конкретный контент для увеличения, я хочу обрезать ту часть изображения, которая присутствует в 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.
Эта логика - просто базовая запись содержимого экрана.
Я знаю, что может быть лучший путь, но я не могу найти решение.Любая помощь высоко ценится.