将UIImage保存到iOS照片库和对应程序沙盒中

来源:互联网 发布:网络销售金融聊天记录 编辑:程序博客网 时间:2024/06/08 06:12
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 

3,图片上写文字
+ (UIImage *)imageAddText:(UIImage *)img textArray:(NSArray *)textArray
{
    int w = img.size.width;
    int h = img.size.height;
    UIGraphicsBeginImageContext(img.size);
    [[UIColor blackColor] set];
    [img drawInRect:CGRectMake(0, 0, w, h)];
    
    NSInteger count = [textArray count];
    for (int i= 0; i<count; i++) {
        NSString *mark = [textArray objectAtIndex:i];
        [mark drawInRect:CGRectMake(10, 30 + i*40, w - 10, 40) withFont:[UIFont systemFontOfSize:30]];
    }
    
    UIImage *aimg = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return aimg;
    
}
0 0
原创粉丝点击