Skip to content

Instantly share code, notes, and snippets.

@darcwader
Created August 30, 2016 02:35
Show Gist options
  • Save darcwader/b820e552f8932b82a87c78398679796f to your computer and use it in GitHub Desktop.
Save darcwader/b820e552f8932b82a87c78398679796f to your computer and use it in GitHub Desktop.
Resizing Image using CoreGraphics
extension UIImage {
func resizeCG(size:CGSize) -> UIImage? {
let bitsPerComponent = CGImageGetBitsPerComponent(self.CGImage)
let bytesPerRow = CGImageGetBytesPerRow(self.CGImage)
let colorSpace = CGImageGetColorSpace(self.CGImage)
let bitmapInfo = CGImageGetBitmapInfo(self.CGImage)
let context = CGBitmapContextCreate(nil, Int(size.width), Int(size.height), bitsPerComponent, bytesPerRow, colorSpace, bitmapInfo.rawValue)
CGContextSetInterpolationQuality(context, .High)
CGContextDrawImage(context, CGRect(origin: CGPoint.zero, size: size), self.CGImage)
return CGBitmapContextCreateImage(context).flatMap { UIImage(CGImage: $0) }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment