// // UIImage+Extension.swift // O2Platform // // Created by FancyLou on 2018/11/21. // Copyright © 2018 zoneland. All rights reserved. // import UIKit extension UIImage { /// EZSE: scales image public class func scaleTo(image: UIImage, w: CGFloat, h: CGFloat) -> UIImage { let newSize = CGSize(width: w, height: h) UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0) image.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height)) let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext() return newImage } func o2_aspectFitRectForSize(_ size: CGSize) -> CGRect { let targetAspect: CGFloat = size.width / size.height let sourceAspect: CGFloat = self.size.width / self.size.height var rect: CGRect = CGRect.zero if targetAspect > sourceAspect { rect.size.height = size.height rect.size.width = ceil(rect.size.height * sourceAspect) rect.origin.x = ceil((size.width - rect.size.width) * 0.5) } else { rect.size.width = size.width rect.size.height = ceil(rect.size.width / sourceAspect) rect.origin.y = ceil((size.height - rect.size.height) * 0.5) } return rect } }