您的位置:首页 > 移动开发 > IOS开发

iOS自动生成对应大小的icon图片代码

2016-04-12 16:34 435 查看
-(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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: