こういうスプライト画像の
この部分だけ切り取る時とかに使います。
UIImage+Custom.m
#import "UIImage+Custom.h"
@implementation UIImage (Custom)
- (UIImage *)partialImageOfRect:(CGRect)rect
{
CGPoint originDrawPoint = CGPointMake(rect.origin.x * -1, rect.origin.y * -1);
UIGraphicsBeginImageContextWithOptions(rect.size, NO, [UIScreen mainScreen].scale);
[self drawAtPoint:originDrawPoint];
UIImage* partialImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return partialImage;
}
@end
使う時は
// 元のスプライト画像を取得
UIImage* sourceImage = [UIImage imageNamed:@"tono.png"];
// 切り取る枠を指定
CCRect rect = CGRectMake(0, 0, 32, 32);
// トリミング画像を取得
UIImage* createdImage = [sourceImage partialImageOfRect:rect];
こんな感じ。
もっと良いやり方があったら教えて下さい。