Posted at

【画像を保存]UIViewを画像で保存する。

More than 5 years have passed since last update.

UIView を見た目そのまま画像として保存したい。


saveImage.m

//Core Graphicsを使います

#import <QuartzCore/QuartzCore.h>
//保存したい UIView のインスタンス view があるとして、それを保存する方法は次の通り。
UIGraphicsBeginImageContext(view.frame.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

// PNGの場合(view.alphaで指定した透明度も維持されるみたい)
NSData *dataSaveImage = UIImagePNGRepresentation(image);

// JPEGの場合
//NSData *dataSaveImage = UIImageJPEGRepresentation(image, 1.0);

// Documentsディレクトリに保存
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
[dataSaveImage writeToFile:[path stringByAppendingPathComponent:@"test.png"] atomically:YES];