2017-04-11 2 views
0

J'ai une image (captureImage) qui est prise par caméra et redimensionnée. J'utilise UIImageJPEGRepresentation pour compresser l'image, après la compression, la taille de l'image est augmentée. Est-ce un comportement normal ou je fais de la compression/redimensionnement dans le mauvais sens?UIImageJPEGRepresentation augmente UIImage taille

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

S'il vous plaît se référer à beugler lien: http://stackoverflow.com/questions/29137488/how-do-i-resize-the-uiimage-to-reduce-upload-image-size Peut être utile pour vous. – Aashish1aug

+0

Vous êtes redimensionner l'image: https://iosdevcenters.blogspot.com/2015/12/how-to-resize-image-in-swift-in-ios.html –

Répondre

0

Oui ce code est pour la compression d'images

let compressedImageData = UIImageJPEGRepresentation(image, 0.3)! 

Une façon pour obtenir la taille du fichier est en enregistrant dans le répertoire de documents. Par exemple -

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)") 
     }