UIView 转化为 UIImage,将UIImage 保存到沙盒中

来源:互联网 发布:mac无法显示移动硬盘 编辑:程序博客网 时间:2024/05/17 06:32

1.UIView转UIImage(截屏,UIGraphicsBeginImageContextWithOptions函数的使用)  

// 需要转成image的view:captureAndSaveView

UIGraphicsBeginImageContextWithOptions(captureAndSaveView.frame.size, NO, 1.0);  //NO,YES 控制是否透明
[captureAndSaveView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// 生成后的image

http://liwpk.blog.163.com/blog/static/36326170201210615659749/


2.保存到iOS照片到沙盒

1)保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下:
.h文件
#import<QuartzCore/QuartzCore.h>
UIImageView *imageView;
@property (nonatomic, retain) IBOutlet UIImageView*imageView;
.m文件
UIGraphicsBeginImageCont

ext(imageView.bounds.size);
[imageView.layerrenderInContext:UIGraphicsGetCurrentContext()];
UIImage *temp = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(temp, nil, nil, nil);

2)保存到对应的沙盒目录中,具体代码如下:
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:[NSStringstringWithFormat:@"sms.gif"]];  // 保存文件的名称
BOOL result =[UIImagePNGRepresentation(imageView.image)writeToFile:filePath   atomically:YES]; // 保存成功会返回YES 


0 0