iOS 图片压缩的方法

#pragma mark ---- 图片的压缩

// 图片的压处理 减少图片的大小
- (void)imageView
{
    // 两种压缩图片的方式
    // UIImageJPEGRepresentation 压缩方式比UIImagePNGRepresentation小的多
    // 如果对图片质量无要求的话  建议用 UIImageJPEGRepresentation
    NSData *dataImage = UIImageJPEGRepresentation([UIImage new], 1.0); // JPEG格式压缩
    NSData *dataimage = UIImagePNGRepresentation([UIImage new]); // PNG 格式压缩
}

// 图片的缩处理
// sourceImage: 需要缩处理的源图片   targetWidth : 最终的目标图片宽度
- (UIImage *)compressImage:(UIImage *)sourceImage toTargetWidth:(CGFloat)targetWidth {
    // 原来的图片的大小
    CGSize imageSize = sourceImage.size;
    
    CGFloat width = imageSize.width;
    CGFloat height = imageSize.height;
    
    CGFloat targetHeight = (targetWidth / width) * height;
    
    // 创建新建图片的上下文(新的宽度, 高度)
    UIGraphicsBeginImageContext(CGSizeMake(targetWidth, targetHeight));
    
    // 源图片 画一个CGrect的大小的图片
    [sourceImage drawInRect:CGRectMake(0, 0, targetWidth, targetHeight)];
    
    // 新建图片 得到新的压缩大小图片
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    // 绘制完成
    UIGraphicsEndImageContext();
    
    return newImage;
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值