gpt4 book ai didi

iOS UIImage 转换为固定内存大小

转载 作者:行者123 更新时间:2023-11-29 00:56:00 36 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我必须处理一些大图像,具体大小可能在 1MB 到 30MB 之间。

现在我必须将大图像转换为大约 400KB (380~400) 并且质量损失最小。

我们有一些解决方案可以将其转换为特定尺寸 (CGSize),但我不知道如何将图像转换为磁盘上的其他尺寸...

最佳答案

最简单的方法是使用 JPEG 图像格式,因为当您将图像转换为数据时,您可以指定一个简单的压缩质量值。这是使用 UIImageJPEGRepresentation 完成的。

另一部分是,在操作完成之前您不知道大小。因此,您需要测试结果并决定做什么。

显然,您可以优化并检查原始图像是否已经足够小。如果不是,那么您可以运行二分搜索来找到适当的压缩质量设置。

二分搜索意味着始终将当前状态和目标状态之间的距离减半。因此,压缩质量介于 0 和 1 之间,这意味着您从 0.5 的压缩质量开始,看看结果如何。如果图像仍然太大,则丢弃数据并以 0.25 (0.5 - (0.5/2)) 的压缩质量重试。如果图像太小,则丢弃数据并以 0.75 (0.5 + (0.5/2)) 的压缩质量重试。

继续这样做,直到图像尺寸在您可接受的范围内。

关于iOS UIImage 转换为固定内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37606829/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com