| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- //
- // 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
- }
- }
-
|