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

-(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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值