Skip to content

Instantly share code, notes, and snippets.

@darcwader
Created August 31, 2016 08:43
Show Gist options
  • Save darcwader/bd346656db880666007e0dff6a1727fc to your computer and use it in GitHub Desktop.
Save darcwader/bd346656db880666007e0dff6a1727fc to your computer and use it in GitHub Desktop.
Resizing Image using Core Image
extension UIImage {
func resizeCI(size:CGSize) -> UIImage? {
let scale = (Double)(size.width) / (Double)(self.size.width)
let image = UIKit.CIImage(CGImage:self.CGImage!)
let filter = CIFilter(name: "CILanczosScaleTransform")!
filter.setValue(image, forKey: kCIInputImageKey)
filter.setValue(NSNumber(double:scale), forKey: kCIInputScaleKey)
filter.setValue(1.0, forKey:kCIInputAspectRatioKey)
let outputImage = filter.valueForKey(kCIOutputImageKey) as! UIKit.CIImage
let context = CIContext(options: [kCIContextUseSoftwareRenderer: false])
let resizedImage = UIImage(CGImage: context.createCGImage(outputImage, fromRect: outputImage.extent))
return resizedImage
}
}
@shoaibhassanWhizpool
Copy link

shoaibhassanWhizpool commented Jan 1, 2019

Its adding a white line after resize, like we have an image of 1599_1600 and i want to resize it to 1023_1024
the result image after saving to camera roll showing a white line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment