• 图片压缩


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

    // 图像压缩

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

    - (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 )

  • 相关阅读:
    Flutter开发环境搭建
    Android自定义View-圆形图片控件
    浅析对象的创建过程
    Java对象占用内存大小--Java对象的内存结构分析
    对AQS的简单理解及自定义锁的实现
    IntelliJ IDEA插件开发的简单流程
    IOC之运行时注入-实现Activity的布局注入+控件注入+事件绑定
    动态代理+注解+反射实现View的点击事件绑定
    Java中的注解和反射
    利用短信通知的方式在Tasker中实现收到Android手机短信自动转发到微信
  • 原文地址:https://www.cnblogs.com/shifu/p/6274957.html
Copyright © 2020-2023  润新知