No Description

UIImageExt.swift 2.9KB

    // // UIImageExt.swift // PaiaiUIKit // // Created by FFIB on 2017/9/14. // Copyright © 2017年 FFIB. All rights reserved. // import UIKit public extension UIImage { func scaledImage(_ scale: CGFloat) -> UIImage? { let outputSize = size * scale let renderer = UIGraphicsImageRenderer(size: outputSize) return renderer.image(actions: {_ in }) } func scaledImage(length: CGFloat, with quality: CGFloat) -> Data? { let edge = size.width > size.height ? size.height : size.width let outputSize = size * (length / edge) let renderer = UIGraphicsImageRenderer(size: outputSize) return renderer.jpegData(withCompressionQuality: quality) { _ in let content = UIGraphicsGetCurrentContext() content?.draw(cgImage!, in: CGRect(origin: CGPoint.zero, size: outputSize)) } } func combineTo(image: UIImage, proportion: CGFloat, size: CGSize) { let renderer = UIGraphicsImageRenderer(size: size) renderer.image(actions: { context in context.currentImage.draw(in: CGRect.init(x: 0, y: 0, width: size.width * proportion, height: size.height)) image.draw(in: CGRect.init(x: size.width * proportion, y: 0, width: size.width * (1 - proportion), height: size.height)) }) } } public extension UIImage { static var defaultAvatar: UIImage? { return UIImage(named: "defaultAvatar") } static var photoPlaceholder: UIImage? { return UIImage(named: "photoPlaceholder") } struct Navigation { public static var background: UIImage? { return UIImage(named: "navigation-background")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch) } public static var blackBackground: UIImage? { return UIImage(named: "navigation-background-black")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch) } public static var right: UIImage? { return UIImage(named: "navigation-right")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch) } public static var verticalPoints: UIImage? { return UIImage(named: "navigation-vertical-points")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch) } } struct PhotoDetail { public static var purchaseBackground: UIImage? { return UIImage(named: "purchase-background")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch) } } }