1234567891011121314151617181920212223242526272829303132333435 |
- //
- // CGSize+Swift.swift
- // Haneke
- //
- // Created by Oriol Blanc Gimeno on 09/09/14.
- // Copyright (c) 2014 Haneke. All rights reserved.
- //
- import UIKit
- extension CGSize {
- func hnk_aspectFillSize(_ size: CGSize) -> CGSize {
- let scaleWidth = size.width / self.width
- let scaleHeight = size.height / self.height
- let scale = max(scaleWidth, scaleHeight)
- let resultSize = CGSize(width: self.width * scale, height: self.height * scale)
- return CGSize(width: ceil(resultSize.width), height: ceil(resultSize.height))
- }
- func hnk_aspectFitSize(_ size: CGSize) -> CGSize {
- let targetAspect = size.width / size.height
- let sourceAspect = self.width / self.height
- var resultSize = size
- if (targetAspect > sourceAspect) {
- resultSize.width = size.height * sourceAspect
- }
- else {
- resultSize.height = size.width / sourceAspect
- }
- return CGSize(width: ceil(resultSize.width), height: ceil(resultSize.height))
- }
- }
|