zoukankan      html  css  js  c++  java
  • 最新swift4.0 图片进行尺寸大小及体积压缩

    ///图片压缩方法

       class func resetImgSize(sourceImage : UIImage,maxImageLenght : CGFloat,maxSizeKB : CGFloat) -> Data {

        var maxSize = maxSizeKB

        var maxImageSize = maxImageLenght

        

        if (maxSize <= 0.0) {

            maxSize = 1024.0;

        }

        if (maxImageSize <= 0.0)  {

            maxImageSize = 1024.0;

        }

        //先调整分辨率

        var newSize = CGSize.init( sourceImage.size.width, height: sourceImage.size.height)

        let tempHeight = newSize.height / maxImageSize;

        let tempWidth = newSize.width / maxImageSize;

        if (tempWidth > 1.0 && tempWidth > tempHeight) {

            newSize = CGSize.init( sourceImage.size.width / tempWidth, height: sourceImage.size.height / tempWidth)

        }

        else if (tempHeight > 1.0 && tempWidth < tempHeight){

            newSize = CGSize.init( sourceImage.size.width / tempHeight, height: sourceImage.size.height / tempHeight)

        }

        UIGraphicsBeginImageContext(newSize)

        sourceImage.draw(in: CGRect.init(x: 0, y: 0, newSize.width, height: newSize.height))

        let newImage = UIGraphicsGetImageFromCurrentImageContext()

        UIGraphicsEndImageContext()

        var imageData = UIImageJPEGRepresentation(newImage!, 1.0)

        var sizeOriginKB : CGFloat = CGFloat((imageData?.count)!) / 1024.0;

        //调整大小

        var resizeRate = 0.9;

        while (sizeOriginKB > maxSize && resizeRate > 0.1) {

            imageData = UIImageJPEGRepresentation(newImage!,CGFloat(resizeRate));

            sizeOriginKB = CGFloat((imageData?.count)!) / 1024.0;

            resizeRate -= 0.1;

        }

        return imageData!

       }

  • 相关阅读:
    【bzoj3774】最优选择 网络流最小割
    【bzoj3697】采药人的路径 树的点分治
    【bzoj3576】[Hnoi2014]江南乐 博弈论+SG定理+数学
    【bzoj3451】Tyvj1953 Normal 期望+树的点分治+FFT
    【bzoj2906】颜色 分块
    【bzoj5028】小Z的加油店 扩展裴蜀定理+差分+线段树
    【bzoj2257】[Jsoi2009]瓶子和燃料 扩展裴蜀定理+STL-map
    【bzoj4542】[Hnoi2016]大数 莫队算法
    【bzoj4182】Shopping 树的点分治+dfs序+背包dp
    【bzoj2560】串珠子 状压dp+容斥原理
  • 原文地址:https://www.cnblogs.com/qizhuo/p/8242589.html
Copyright © 2011-2022 走看看