0
Ich habe Probleme, die Größe eines Fotos zu ändern, nachdem die Kamera das Foto aufgenommen hat. Momentan habe ich eine Bildansicht in meiner Szene, die 100 x 100 (für ein Profilfoto) ist, aber wenn ich die App starte, erscheint das Foto nie, nachdem ich die Kamera benutzt habe. Hier ist mein Code. Was mir fehlt:So ändern Sie die Größe von Fotos mit UIImagePicker/Swift
@IBAction func employeePhotoButton(sender: AnyObject) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) {
var imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.Camera;
imagePicker.allowsEditing = false
self.presentViewController(imagePicker, animated: true, completion: nil)
func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {
let scale = newWidth/image.size.width
let newHeight = image.size.height * scale
UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight))
image.drawInRect(CGRectMake(0, 0, newWidth, newHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) {
employeePhoto.image = resizeImage(image!, newWidth: 100)
self.dismissViewControllerAnimated(true, completion: nil);
}
}
}
Dank !! Ich war in der Lage, Ihre Antwort als Leitfaden zu verwenden und das Foto korrekt zu skalieren. Meine einzige Sorge ist, dass das Foto ein wenig verschwommen ist. Nicht sicher, ob das behoben werden kann, aber ich werde ein anderes Problem dafür schaffen. Danke noch einmal! –