Skip to content

Instantly share code, notes, and snippets.

@m4c1ek
Created August 17, 2016 10:41
Show Gist options
  • Save m4c1ek/3fbab94dd8dcd8966c181f6d90fc6fd4 to your computer and use it in GitHub Desktop.
Save m4c1ek/3fbab94dd8dcd8966c181f6d90fc6fd4 to your computer and use it in GitHub Desktop.
FRPTutorial snippets
class ImageDownloader {
func downloadImageFor(path:String) -> UIImage? {
guard let url = NSURL(string: path) else { return nil }
guard let data = NSData(contentsOfURL: url) else { return nil }
return UIImage(data: data)
}
}
class CMYKFilter : ImageFilter {
// This is some unefficient and long time taking method
func filterImage(image: UIImage) -> UIImage {
// Extract Core Image
guard let cgImage = image.CGImage else { return image }
let coreImage = CIImage(CGImage: cgImage)
// Filter
let filter = CIFilter(name: "CICMYKHalftone")
filter?.setValue(coreImage, forKey: kCIInputImageKey)
// Handle output
if let output = filter?.valueForKey(kCIOutputImageKey) as? CIImage {
let context = CIContext(options: nil)
let rect = output.extent
let cgImage = context.createCGImage(output, fromRect:rect)
let filteredImage = UIImage(CGImage: cgImage)
return filteredImage
} else {
print("Filtering image failed")
return image
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment