Swift 根据给定宽度改变图片大小
对UIImage的扩展
1 extension UIImage{ 2 // 给定指定宽度,返回结果图像 3 func scaleImageToWidth(_ width: CGFloat) -> UIImage { 4 5 // 1. 计算等比例缩放的高度 6 let height = width * size.height / size.width 7 8 // 2. 图像的上下文 9 let s = CGSize(width: width, height: height) 10 11 // 3.提示:一旦开启上下文,所有的绘图都在当前上下文中 12 UIGraphicsBeginImageContext(s) 13 14 // 4.在制定区域中缩放绘制完整图像 15 draw(in: CGRect(origin: CGPoint.zero, size: s)) 16 17 // 5. 获取绘制结果 18 let result = UIGraphicsGetImageFromCurrentImageContext() 19 20 // 6. 关闭上下文 21 UIGraphicsEndImageContext() 22 23 // 7. 返回结果 24 return result! 25 } 26 27 }