我正在使用 AlamofireImage 下载并设置我的 UIImage:
backdrop.af_setImageWithURL(downloadURL)
图像比我要显示的要大得多,所以我遇到了锯齿问题。如何正确调整此图像的大小?
结果:
最佳答案
一旦你有了一个有效的UIImage,你就可以调整任何大小的图像:
func resizedImageWith(image: UIImage, targetSize: CGSize) -> UIImage {
let imageSize = image.size
let newWidth = targetSize.width / image.size.width
let newHeight = targetSize.height / image.size.height
var newSize: CGSize
if(newWidth > newHeight) {
newSize = CGSizeMake(imageSize.width * newHeight, imageSize.height * newHeight)
} else {
newSize = CGSizeMake(imageSize.width * newWidth, imageSize.height * newWidth)
}
let rect = CGRectMake(0, 0, newSize.width, newSize.height)
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
image.drawInRect(rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
对于任何其他查询/修改,请参阅此 NShipster
关于iOS swift : How to properly scale down an image?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38062289/