画像を所定のサイズに圧縮
746 ワード
swift 4.2
画像を所定のサイズに圧縮し、計算値を目標値に近づけるように二分法でループします
画像を所定のサイズに圧縮し、計算値を目標値に近づけるように二分法でループします
func compressQuality(_ maxLength:NSInteger,_ cyles:Int = 6) -> Data {
var compression:CGFloat = 1
var data = self.jpegData(compressionQuality: compression)!
if data.count < maxLength {
return data
}
var max:CGFloat = 1
var min:CGFloat = 0
var bestData:Data = data
for _ in 0.. maxLength {
max = compression
} else {
bestData = data
break
}
}
return bestData
}