Commit 2a2d3610 authored by CZ1004's avatar CZ1004

【优化】更改压缩可节约的的值

parent 44d736ef
......@@ -27,34 +27,18 @@ class CompressSelectCell : UICollectionViewCell {
self.backImageView.image = image
}
}
// 把压缩前的值减去压缩后的值就为可以节省的值。然后这里需要判定下如果是大于1000MB,则再除以1024换算成GB
let options = PHImageRequestOptions()
options.isSynchronous = false
options.deliveryMode = .highQualityFormat
options.isNetworkAccessAllowed = true
let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: [model.ident], options: nil)
PHImageManager.default().requestImage(for: fetchResult.firstObject!, targetSize: PHImageManagerMaximumSize, contentMode:.aspectFit, options: options) { (image, _) in
if let originalImage = image {
// 项目中用到的是【0.2、0.5和0.8】,这里我们初始化的时候使用0.2去计算
if let compressedData = originalImage.jpegData(compressionQuality: 0.2) {
let compressCompletedSize = Double(compressedData.count)
let saveSize = model.orgSize - compressCompletedSize
let sizeKB : Double = saveSize/1000
DispatchQueue.main.async {
if sizeKB < 1000{
self.saveSizeLabel.text = String(format: "Save %.2f KB" ,sizeKB)
}else if sizeKB < (1000 * 1000) && sizeKB > 1000{
self.saveSizeLabel.text = String(format: "Save %.2f MB" ,sizeKB/1000)
}else{
self.saveSizeLabel.text = String(format: "Save %.2f GB" ,sizeKB/(1000 * 1000))
}
}
}
// 这里不再进行计算了 直接按照50%的去计算
let saveSize = model.orgSize/2
let sizeKB : Double = saveSize/1000
DispatchQueue.main.async {
if sizeKB < 1000{
self.saveSizeLabel.text = String(format: "Save %.2f KB" ,sizeKB)
}else if sizeKB < (1000 * 1000) && sizeKB > 1000{
self.saveSizeLabel.text = String(format: "Save %.2f MB" ,sizeKB/1000)
}else{
self.saveSizeLabel.text = String(format: "Save %.2f GB" ,sizeKB/(1000 * 1000))
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment