iOS-有关图片裁剪

正方形图片裁剪&补白


/**
 正方形图片裁剪

 @param imageview 图片控件对象
 @param url 图片url
 @param isFiller 是否补白 yes = 是
 @param whvalue 是否固定大小; whvalue > 0 = 固定大小、whvalue == -1 = 原图 、whvalue == 0 = 动态裁剪
 @return 返回图片地址
 */
+(NSString *)aiImageSquare_url:(UIView *)imageview imageurl:(NSString *)url filler:(BOOL)isFiller wh:(int)whvalue{
    NSString *imageUrl=@"";
    if (whvalue>0) {
        //固定
        if(isFiller){
            //补白
            imageUrl=[NSString stringWithFormat:@"%@@!%dw-c",url,whvalue];
        }else{
            //裁减
            imageUrl=[NSString stringWithFormat:@"%@@!%dw-b",url,whvalue];
        }
    }else if(whvalue==-1){
        //原图
        imageUrl=url;
    }else{
        //动态大小图
        int width=imageview.bounds.size.width*2;

        if(isFiller){
            //补白
            NSArray *array=[[NSArray alloc]initWithObjects:@"150", @"200", @"300", @"400", @"500", @"600", @"800",  nil];
            for (NSString *width_array in array) {
                int width_array_int =[width_array intValue];
                if (width_array_int>width) {
                    imageUrl=[NSString stringWithFormat:@"%@@!%dw-b",url,width_array_int];
                    break;
                }

            }
            if ([imageUrl isEqualToString:@""]) {
                //原图
                imageUrl=url;
            }

        }else{
            //裁减
            NSArray *array=[[NSArray alloc]initWithObjects:@"30",@"60", @"100", @"150", @"200", @"300", @"400", @"500", @"600", @"800",  nil];
            for (NSString *width_array in array) {
                int width_array_int =[width_array intValue];
                if (width_array_int>width) {
                    imageUrl=[NSString stringWithFormat:@"%@@!%dw-b",url,width_array_int];
                    break;
                }

            }
            if ([imageUrl isEqualToString:@""]) {
                //原图
                imageUrl=url;

            }

        }

    }
    return imageUrl;
}

矩形图片裁剪&补白

/**
 矩形图片裁剪

 @param imageview 图片空间对象
 @param url 图片url
 @param isFiller 是否补白 yes = 是
 @param whvalue 是否固定大小; whvalue > 0 = 固定大小、whvalue == -1 = 原图 、whvalue == 0 = 动态裁剪
 @return 返回图片地址
 */
+(NSURL *)AiImageRectangleURL:(UIView *)imageview imageurl:(NSString *)url filler:(BOOL)isFiller wh:(NSString *)whvalue{
    NSString *imageUrl=@"";

    if (![whvalue isEqualToString:@"0"]) {
        //固定
        if (isFiller) {
            //补白
            imageUrl=[NSString stringWithFormat:@"%@@!%@-d",url,whvalue];
        }else{
            //裁剪
            imageUrl=[NSString stringWithFormat:@"%@@!%@-c",url,whvalue];
        }

    }else if([whvalue isEqualToString:@"-1"]){
        //原图
        imageUrl=url;
    }else{
        NSArray *array_value=[[NSArray alloc]initWithObjects:@"160w90h", @"200w150h", @"300w200h", @"320w180h", @"400w300h", @"450w300h", @"600w450h",  nil];
        NSArray *array_index=[[NSArray alloc]initWithObjects:@"160", @"200", @"300", @"320", @"400", @"450", @"600",  nil];
        //动态大小图
        int width=imageview.bounds.size.width*2;
        for (int i=0;i<array_index.count;i++) {
            int w=[[array_index epetObjectAtIndex:i] intValue];
            if (w>width) {
                NSString *whvalue_array=[array_value epetObjectAtIndex:i];
                if (isFiller) {
                    imageUrl=[NSString stringWithFormat:@"%@@!%@-d",url,whvalue_array];
                }else{
                    imageUrl=[NSString stringWithFormat:@"%@@!%@-c",url,whvalue_array];
                }

                break;
            }
        }
        if([imageUrl isEqualToString:@""]){
            //原图
            imageUrl=url;
        }

    }

    NSURL *IMAGEURL=[NSURL URLWithString:imageUrl];
    return IMAGEURL;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值