酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

iOSで任意の領域をクリッピング(トリミング)して新しいUIImageを作る

    UIImage *srcImage = [UIImage imageNamed:@"test_image"];
    UIImage *dstImage = nil;

    CGRect clipRect = CGRectMake(0, 0, 320, 400);

    // 指定された画像から指定された範囲の抜き出す
    CGImageRef cliped = CGImageCreateWithImageInRect(srcImage.CGImage, clipRect);

    // CGImageRefからUIImageを作る
    dstImage = [UIImage imageWithCGImage:cliped
                                scale:[[UIScreen mainScreen] scale]
                          orientation:UIImageOrientationUp];
    CGImageRelease(cliped);