UIImageJPEGRepresentation увеличивает размер UIImage
У меня есть изображение (captureImage), которое берется камерой и изменяется. я использую UIImageJPEGRepresentation
чтобы сжать изображение, после сжатия размер изображения увеличивается. Это нормальное поведение или я делаю сжатие / изменение размера неправильно?
if let image = captureImage {
print(image.size) // (700, 700)
let compressedImageData = UIImageJPEGRepresentation(image, 0.3)!
let compressedImage = UIImage(data: compressedImageData)!
print(compressedImage.size) // (3024, 3024)
}
1 ответ
Да, этот код для сжатия изображений
let compressedImageData = UIImageJPEGRepresentation(image, 0.3)!
Одним из способов получения размера файла является сохранение в каталог документов. Например -
let filePath = fileURL
var fileSize : UInt64
do {
//return [FileAttributeKey : Any]
let attr = try FileManager.default.attributesOfItem(atPath: filePath.path)
fileSize = attr[FileAttributeKey.size] as! UInt64
//if you convert to NSDictionary, you can get file size old way as well.
let dict = attr as NSDictionary
fileSize = dict.fileSize()
print(fileSize)
} catch {
print("Error: \(error)")
}