Skip to content

Instantly share code, notes, and snippets.

@MosesEsan
Forked from syshen/gist:4516930
Created July 12, 2014 13:31
Show Gist options
  • Save MosesEsan/985255ebe389e4724dd5 to your computer and use it in GitHub Desktop.
Save MosesEsan/985255ebe389e4724dd5 to your computer and use it in GitHub Desktop.
CIFilter *resizeFilter = [CIFilter filterWithName:@"CILanczosScaleTransform"];
[resizeFilter setValue:ciImage forKey:@"inputImage"];
[resizeFilter setValue:[NSNumber numberWithFloat:1.0f] forKey:@"inputAspectRatio"];
[resizeFilter setValue:[NSNumber numberWithFloat:xRatio] forKey:@"inputScale"];
CIFilter *cropFilter = [CIFilter filterWithName:@"CICrop"];
CIVector *cropRect = [CIVector vectorWithX:rect.origin.x Y:rect.origin.y Z:rect.size.width W:rect.size.height];
[cropFilter setValue:resizeFilter.outputImage forKey:@"inputImage"];
[cropFilter setValue:cropRect forKey:@"inputRectangle"];
CIImage *croppedImage = cropFilter.outputImage;
CGImageRef cgImg = [context createCGImage:croppedImage fromRect:[croppedImage extent]];
UIImage *returnedImage = [UIImage imageWithCGImage:cgImg scale:1.0f orientation:UIImageOrientationUp];
CGImageRelease(cgImg);
[resizeFilter setValue:nil forKey:@"inputImage"];
[cropFilter setValue:nil forKey:@"inputImage"];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment