我目前使用以下代码从UIImage对象生成固定大小的JPEG图片:
var ratio: CGFloat = 1
var imageData : Data = UIImageJPEGRepresentation(edited, ratio)!
while imageData.count > 200000 {
if ratio == 0.1 {
break
}
ratio = ratio - 0.1
imageData = UIImageJPEGRepresentation(edited, ratio)!
}
然而,这段代码似乎有点低效,因为我需要不断减小比例,直到图像大小低于指定值(200 kb)。在 Swift 中有更好的方法实现这种行为吗?