首页 > 代码库 > 图片压缩

图片压缩

<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #4cbf57 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "PingFang SC"; color: #4cbf57 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #ffffff } p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #00afca } p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #ffffff; min-height: 15.0px } span.s1 { } span.s2 { font: 13.0px Menlo } span.s3 { color: #00afca } span.s4 { color: #c2349b } span.s5 { color: #ffffff } span.s6 { color: #8b84cf } span.s7 { color: #4cbf57 } span.s8 { font: 13.0px "PingFang SC"; color: #4cbf57 } span.s9 { font: 13.0px "PingFang SC" }</style>

//==========================

// 图像压缩

//==========================

- (UIImage *)scaleFromImage:(UIImage *)image

{

    if (!image)

    {

        return nil;

    }

    NSData  *data       = UIImagePNGRepresentation(image);

    CGFloat dataSize    = data.length/1024;

    CGFloat width       = image.size.width;

    CGFloat height      = image.size.height;

    CGSize  size;

    

    if (dataSize<=50) //小于50k

    {

        return image;

    }

    else if (dataSize <= 100) //小于100k

    {

        size = CGSizeMake(width/1.f, height/1.f);

    }

    else if (dataSize <= 200) //小于200k

    {

        size = CGSizeMake(width/2.f, height/2.f);

    }

    else if (dataSize <= 500) //小于500k

    {

        size = CGSizeMake(width/2.f, height/2.f);

    }

    else if (dataSize <= 1000)//小于1M

    {

        size = CGSizeMake(width/4.f, height/4.f);

    }

    else if (dataSize <= 2000) //小于2M

    {

        size = CGSizeMake(width/4.f, height/4.f);

    }

    else//大于2M

    {

        size = CGSizeMake(width/4.f, height/4.f);

    }

    UIGraphicsBeginImageContext(size);

    [image drawInRect:CGRectMake(0,0, size.width, size.height)];

    UIImage     *newImage   =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    if (!newImage)

    {

        return  image;

    }

    return      newImage;

}

//新图片的大小 = 原图/ (x.f * x.f )

图片压缩