我的圖片上傳限制爲2 MB。因此,如果用戶嘗試上傳大於2 MB的圖像,我想在不降低分辨率的情況下減小尺寸。如何在不降低分辨率的情況下降低UIImage的質量?
我該如何做到這一點?我想是這樣的,但它沒有工作:
var fileSize = UIImageJPEGRepresentation(image, 1)!.length
print("before File size:")
print(fileSize)
while fileSize > MyConstants.MAX_ATTACHMENT_SIZE{
let mydata = UIImageJPEGRepresentation(image, 0.75)
fileSize = mydata!.length
image = UIImage(data: mydata!)!
print("make smaller \(fileSize)")
}
print("after File size:")
print(UIImageJPEGRepresentation(image, 1)!.length)
輸出:
before File size:
2298429
make smaller 846683
after File size:
2737491
爲什麼使用while循環?你可以使用if() –
while循環將以0.75的質量遞歸地創建一個圖像,而不像if條件 – akdsouza