fix EditProfile change avatar use camera (use not scale version)

This commit is contained in:
nixzhu
2015-10-28 11:27:14 +08:00
parent 30bef51837
commit 4994628b95
2 changed files with 24 additions and 1 deletions
+23
View File
@@ -11,6 +11,29 @@ import Ruler
extension UIImage {
func largestCenteredSquareImage() -> UIImage {
let scale = self.scale
let originalWidth = self.size.width * scale
let originalHeight = self.size.height * scale
let edge: CGFloat
if originalWidth > originalHeight {
edge = originalHeight
} else {
edge = originalWidth
}
let posX = (originalWidth - edge) / 2.0
let posY = (originalHeight - edge) / 2.0
let cropSquare = CGRectMake(posX, posY, edge, edge)
let imageRef = CGImageCreateWithImageInRect(self.CGImage, cropSquare)!
return UIImage(CGImage: imageRef, scale: scale, orientation: self.imageOrientation)
}
func resizeToTargetSize(targetSize: CGSize) -> UIImage {
let size = self.size
@@ -420,7 +420,7 @@ extension EditProfileViewController: UIImagePickerControllerDelegate, UINavigati
YepHUD.showActivityIndicator()
let image = image.navi_centerCropWithSize(YepConfig.avatarMaxSize())!
let image = image.largestCenteredSquareImage().resizeToTargetSize(YepConfig.avatarMaxSize())
let imageData = UIImageJPEGRepresentation(image, YepConfig.avatarCompressionQuality())
s3UploadFileOfKind(.Avatar, inFilePath: nil, orFileData: imageData, mimeType: MessageMediaType.Image.mineType, failureHandler: { (reason, errorMessage) in