如何使用ContentMode来调整UIImage的大小?也就是说,不仅仅是调整它的大小以保持它的纵横比,而是在给定目标大小的情况下,使用所需的选项(scaleAspectFill / Fit / etc)来调整它的大小。
h79rfbju1#
最简单、最快捷的方法是使用UIImageView并对其进行快照:
extension UIImage { func resizedImage(targetSize: CGSize, contentMode: UIView.ContentMode) -> UIImage { let imgView = UIImageView(image: self) imgView.contentMode = contentMode imgView.frame = .init(origin: .zero, size: targetSize) return imgView.snapshot() } } extension UIView { func snapshot() -> UIImage { let format = UIGraphicsImageRendererFormat(for: .current) let renderer = UIGraphicsImageRenderer(bounds: bounds, format: format) return renderer.image { [self] context in layer.render(in: context.cgContext) } } }
1条答案
按热度按时间h79rfbju1#
最简单、最快捷的方法是使用UIImageView并对其进行快照: