【发布时间】:2021-01-30 20:53:54
【问题描述】:
您好,我正在使用 sdwebImage 在我的应用程序上显示图像。我这里有一个代码来调整图像的大小
func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {
let scale = newWidth / image.size.width
let newHeight = image.size.height * scale
UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight))
image.drawInRect(CGRectMake(0, 0, newWidth, newHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
问题是上述函数接受 UIImage 作为参数,sdwebimage 接受 URL。如何在 sdwebimage 中调用上述 resize 函数。或者简而言之,如何在此处调整通过 sdwebImage 呈现的图像的大小
cell.profileImageView.sd_setImageWithURL(UIImage().absoluteURL(profileImageUrl as! String), placeholderImage: UIImage.init(named: "default-profile-icon")?.circle!, completed: completionBlock)
【问题讨论】:
-
sdwebimage 接受 URL,但据我所知您在该 imageview 中应用没有问题
-
对不起这是什么意思。对不起,我没有找到你
-
据我所知,您的代码是正确的,怀疑您在哪里调用
resizeImage方法 -
是的,这就是我要问的。在哪里调用调整大小的图像?
-
库不支持调整图像大小的好方法。回调在主线程上执行,您不想在那里调整图像大小,实现的缓存也意味着每次请求加载时都需要调整大小操作。您必须增强库以支持调整大小,IMO 更好的选择之一是实现您自己的调整大小类别,类似于库提供的加载类别。
标签: ios swift image-resizing sdwebimage