通过保持宽高比和宽度来调整UIImage的大小,可以使用以下方法:
以下是一个示例代码:
func resizeImage(image: UIImage, targetWidth: CGFloat) -> UIImage? {
let scale = targetWidth / image.size.width
let targetHeight = image.size.height * scale
UIGraphicsBeginImageContextWithOptions(CGSize(width: targetWidth, height: targetHeight), false, 0.0)
image.draw(in: CGRect(x: 0, y: 0, width: targetWidth, height: targetHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
这个函数接受一个UIImage对象和目标宽度作为参数,并返回一个调整大小后的UIImage对象。它使用了UIGraphicsBeginImageContextWithOptions函数来创建一个新的图片上下文,并使用目标宽度和原始图片的宽高比计算出目标高度。然后,它将原始图片绘制到新的图片上下文中,并使用UIGraphicsGetImageFromCurrentImageContext函数从图片上下文中获取新的图片。最后,它使用UIGraphicsEndImageContext函数结束图片上下文。
领取专属 10元无门槛券
手把手带您无忧上云