Skip to content

Instantly share code, notes, and snippets.

@fpg1503
Created October 31, 2016 17:46
Show Gist options
  • Save fpg1503/1008f109ab9e80b0a3d7b030ea0b3478 to your computer and use it in GitHub Desktop.
Save fpg1503/1008f109ab9e80b0a3d7b030ea0b3478 to your computer and use it in GitHub Desktop.
Image Resizer
enum Resize {
case current
case resize(CGSize)
}
extension UIImage {
func resize(_ resize: Resize) -> UIImage? {
guard case let .resize(size) = resize else { return self }
//Remove optional when migrating to iOS 10
if #available(iOS 10.0, *) {
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image { rendererContext in
draw(in: CGRect(origin: .zero, size: size))
}
} else {
UIGraphicsBeginImageContextWithOptions(size, false, 0)
self.draw(in: CGRect(origin: .zero, size: size))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment