Created
August 17, 2016 10:41
-
-
Save m4c1ek/3fbab94dd8dcd8966c181f6d90fc6fd4 to your computer and use it in GitHub Desktop.
FRPTutorial snippets
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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