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

你可能感兴趣的:(ios,压缩,图片,imageview,uiimage)