-(void)beginGenerateIconsWithImage:(UIImage *)img
{
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
path = [path stringByAppendingPathComponent:@"CompressedIcons"];
NSArray *array = @[@29,@58,@87,@40,@80,@120,@180,@76,@152,@1024];
for (int i = 0; i < array.count; i ++) {
int sizeS = [[array objectAtIndex:i] intValue];
UIImage *imgFinal = [self compressImage:img withSize:CGSizeMake(sizeS, sizeS)];
[self savePicture:imgFinal withPath:path andFileName:[NSString stringWithFormat:@"%i_%i.png",sizeS,sizeS]];
}
}
#pragma mark 保存图片到路径
-(BOOL)savePicture:(UIImage *)picture withPath:(NSString *)path andFileName:(NSString *)fileName
{
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:path]) {
NSError *error;
BOOL ifSuccess = [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
if (!ifSuccess) {
NSLog(@"Compresse Fialed");
}
}
NSData *data = UIImagePNGRepresentation(picture);
return [data writeToFile:[path stringByAppendingPathComponent:fileName] atomically:YES];
}
#pragma mark 压缩图片到对应尺寸
-(UIImage *)compressImage:(UIImage *)sourceImg withSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
CGRect rect = {{0,0},size};
[sourceImg drawInRect:rect];
UIImage *compressedImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return compressedImg;
}