首页 > 开发 > iOS > 正文

IOS 将图片保存到沙盒

2016-06-05 15:59:15  来源:慕课网
/**
*parm fileName
*image 图片文件
*将图片命名为XXX保存包项目沙盒类
*/

+(BOOL)saveImage:(UIImage*)image ToDocmentWithFileName:(NSString*)fileName{
    //2.保存到对应的沙盒目录中,具体代码如下:
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];   // 保存文件的名称    
    CGSize size = CGSizeMake(320, 480);  //图片大小
    UIImage* img = [Util scaleToSize:image size:size];//调用图片大小截取方法
    BOOL result = [UIImagePNGRepresentation(img) writeToFile: filePath atomically:YES]; // 保存成功会返回YES
    if (result) {
        return YES;
    }else{
        return NO;
    }   
}

/**
*对图片尺寸截取
*/
+ (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{
    // 创建一个bitmap的context
    // 并把它设置成为当前正在使用的context
    UIGraphicsBeginImageContext(size);
    // 绘制改变大小的图片
    [img drawInRect:CGRectMake(0,0, size.width, size.height)];
    // 从当前context中创建一个改变大小后的图片
    UIImage* scaledImage =UIGraphicsGetImageFromCurrentImageContext();
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
    //返回新的改变大小后的图片
    return scaledImage;
}