UIImageで大きさを拡大または縮小しようとした場合、ちょっとややこしいので、忘れないようにメモしておきます。
拡大/縮小(サイズ指定)
UIImage *imgOriginal = [UIImage imageNamed:@"hoge.png"]; // リサイズ前のUIImage UIImage *imgResized; // リサイズ後のUIImage CGFloat width = 400; // リサイズ後の幅のサイズ CGFloat height = 300; // リサイズ後の高さのサイズ UIGraphicsBeginImageContext(CGSizeMake(width, height)); [imgOriginal drawInRect:CGRectMake(0, 0, width, height)]; imgResized = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();
拡大/縮小(割合指定)
UIImage *imgOriginal = [UIImage imageNamed:@"hoge.png"]; // リサイズ前のUIImage UIImage *imgResized; // リサイズ後のUIImage CGFloat RatioWidth = 0.5; // リサイズ後の幅の割合 CGFloat RatioHeight = 0.5; // リサイズ後の高さの割合 CGSize sizeResize = CGSizeMake(imgOriginal.size.width*RatioWidth, imgOriginal.size.height*RatioHeight); UIGraphicsBeginImageContext(sizeResize); [imgOriginal drawInRect:CGRectMake(0, 0, sizeResize.width, sizeResize.height)]; imgResized = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();
トリミング
UIImage *imgOriginal = [UIImage imageNamed:@"hoge.png"]; // リサイズ前のUIImage UIImage *imgResized; // 切り取り後UIImage CGRect rect = CGRectMake(100, 100, 300, 200); // 切り取る場所とサイズ(x, y, w, h) UIGraphicsBeginImageContext(rect.size); [imgOriginal drawAtPoint:rect.origin]; imgResized = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();