美文网首页
图片压缩

图片压缩

作者: CNjacob | 来源:发表于2016-11-12 18:16 被阅读0次
    #pragma mark - 压缩图片质量
    +(UIImage *)reduceImage:(UIImage *)image percent:(float)percent
    {
        NSData *imageData = UIImageJPEGRepresentation(image, percent);
        UIImage *newImage = [UIImage imageWithData:imageData];
        return newImage;
    }
    
    #pragma mark - 压缩图片尺寸
    + (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize
    {
        UIGraphicsBeginImageContext(newSize);
        [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
        UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        return newImage;
    }
    
    #pragma mark - 图片压缩到某个最大值
    - (UIImage *)compressImage:(UIImage *)image toMaxFileSize:(NSInteger)maxFileSize {
        CGFloat compression = 0.9f;
        CGFloat maxCompression = 0.1f;
        NSData *imageData = UIImageJPEGRepresentation(image, compression);
        while ([imageData length] > maxFileSize && compression > maxCompression) {
            compression -= 0.1;
            imageData = UIImageJPEGRepresentation(image, compression);
        }
        
        UIImage *compressedImage = [UIImage imageWithData:imageData];
        return compressedImage;
    }
    
    #pragma mark - 图片压缩到某个宽度和高度
    -(UIImage *) imageCompressForWidth:(UIImage *)sourceImage targetWidth:(CGFloat)defineWidth
    {
        CGSize imageSize = sourceImage.size;
        CGFloat width = imageSize.width;
        CGFloat height = imageSize.height;
        CGFloat targetWidth = defineWidth;
        CGFloat targetHeight = (targetWidth / width) * height;
        UIGraphicsBeginImageContext(CGSizeMake(targetWidth, targetHeight));
        [sourceImage drawInRect:CGRectMake(0,0,targetWidth,  targetHeight)];
        UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return newImage;
    }
    

    压缩图片的一个网站,在不影响像素的情况下能压缩很多
    https://tinypng.com/

    相关文章

      网友评论

          本文标题:图片压缩

          本文链接:https://www.haomeiwen.com/subject/afpqpttx.html