如何在swift ios中减小图像的大小[重复]

Posted

技术标签:

【中文标题】如何在swift ios中减小图像的大小[重复]【英文标题】:how to reduce size of the image in swift ios [duplicate] 【发布时间】:2017-02-22 17:23:43 【问题描述】:

我想像这个网站一样缩小图片的大小 http://resizeimage.net 使用下面的代码后,我的图像是 1080 x 360 大小 120kb 但是当我使用该网站时,我得到了 58kb 或者是否有压缩 JPEG 文件的库或算法

func resizeImage(_ image: UIImage, newHeight: CGFloat) -> UIImage 
    let scale = newHeight / image.size.height
    let newWidth = image.size.width * scale
    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: newHeight))
    image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: newHeight))
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    let imageData = UIImageJPEGRepresentation(newImage!, 0.5)! as Data
    UIGraphicsEndImageContext()
    return UIImage(data:imageData)!

【问题讨论】:

使用更高的压缩值。 【参考方案1】:

传递给UIImageJPEGRepresentation 的压缩质量决定了您的JPEG 图像的图像质量。你有 0.5,试试像 0.1 这样更低的值: let imageData = UIImageJPEGRepresentation(newImage!, 0.1)! as Data

来自 Apple 的文档: compressionQuality The quality of the resulting JPEG image, expressed as a value from 0.0 to 1.0. The value 0.0 represents the maximum compression (or lowest quality) while the value 1.0 represents the least compression (or best quality).

【讨论】:

但是当我放 0.1 时,图像看起来会很糟糕 是的,这就是图像压缩的折衷方案。您可以尝试 0.1 到 0.5 之间的任何值,看看它们中的任何一个是否都能为您提供足够好的质量和您正在寻找的文件大小。也许 0.35 或 0.4 会更好。

以上是关于如何在swift ios中减小图像的大小[重复]的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何减小启动画面的图像大小

减小 png 图像的文件大小

如何减小 UI 选项卡栏项图像的大小以使其适合选项卡栏?

Swift 5 将进一步减小 iOS 应用安装包大小

减小 PDF 大小

如何在目标 c 中减小图像的大小