UIImageの画像を指定のサイズで切り取りたいときの話。
##準備
CoreImage.framework
を追加し、ヘッダーファイルにインポートしておく。
.h
#import <CoreImage/CoreImage.h>
##実装
UIImageを用意する部分は省略。
.m
//UIImageをCIImageに変換
CIImage* ciImage = [[CIImage alloc]]initWithImage:uiimage];
//CIFilter生成
CIFilter* cifilter = [CIFilter filterWithName:@"CICrop"];
//トリミング開始位置と切り取るサイズ
[cifilter setValue:[CIVector vectorWithX:x
Y:y
Z:width
W:height]
forKey:@"inputRectangle"];
//CIFilterにCIImageのセット
[cifilter setValue:ciImage forKey:@"inputImage"];
//結果の取り出し
CIImage* filteredImage = cifilter.outputImage;
//UIImageに変換する
UIImage* resultImage = [UIImage imageWithCIImage:filteredImage];