12345678910111213141516171819202122232425262728293031323334 |
- //
- // UIImage+Utils.swift
- // WeScan
- //
- // Created by Bobo on 5/25/18.
- // Copyright © 2018 WeTransfer. All rights reserved.
- //
- import Foundation
- extension UIImage {
-
- /// Draws a new cropped and scaled (zoomed in) image.
- ///
- /// - Parameters:
- /// - point: The center of the new image.
- /// - scaleFactor: Factor by which the image should be zoomed in.
- /// - size: The size of the rect the image will be displayed in.
- /// - Returns: The scaled and cropped image.
- func scaledImage(atPoint point: CGPoint, scaleFactor: CGFloat, targetSize size: CGSize) -> UIImage? {
- guard let cgImage = self.cgImage else {
- return nil
- }
-
- let scaledSize = CGSize(width: size.width / scaleFactor, height: size.height / scaleFactor)
-
- guard let croppedImage = cgImage.cropping(to: CGRect(x: point.x - scaledSize.width / 2.0, y: point.y - scaledSize.height / 2.0, width: scaledSize.width, height: scaledSize.height)) else {
- return nil
- }
-
- return UIImage(cgImage: croppedImage)
- }
-
- }
|