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 }