iOS/OC: 压缩图片问题

图片的压缩分两种:
1、是 “压” 文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,
下面返回一个Data,后面的系数就是压缩程度

UIImageJPEGRepresentation(image, 0.8)

2、是 “缩” 文件的尺寸变小,也就是像素数减少。长宽尺寸变小,文件体积同样会减小。

 [sourceImage drawInRect:CGRectMake(0,0,targetWidth, targetHeight)] 

例如下面的,改变图片尺寸

- (UIImage*)scaleToSize:(CGSize)size
{
    // 创建一个bitmap的context
    // 并把它设置成为当前正在使用的context
    //判断是否为retina屏
    if([[UIScreen mainScreen] scale] == 2.0){
        UIGraphicsBeginImageContextWithOptions(size, NO, 2.0);
    }else{
        UIGraphicsBeginImageContext(size);
    }
    // 绘制改变大小的图片
    [self drawInRect:CGRectMake(0, 0, size.width, size.height)];
    // 从当前context中创建一个改变大小后的图片
    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
    // 返回新的改变大小后的图片
    return scaledImage;
}

你可能感兴趣的:(iOS/OC: 压缩图片问题)