我正在我的应用程序中显示从网络下载的图像,但我希望对它们进行降采样,以便它们不占用多个MB的内存。我以前可以使用UIKit很容易地完成这个任务:
func resizedImage(image: UIImage, for size: CGSize) -> UIImage? {
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image { (context) in
image.draw(in: CGRect(origin: .zero, size: size))
}
}
还有其他方法,但它们都依赖于了解 SwiftUI 图像视图所需的大小,这在 SwiftUI 中并不容易。
是否有专门用于降采样 SwiftUI 图像的良好 API/方法?
Image(uiImage: ...)
来创建图像。 - Asperi